Commit Graph

929 Commits

Author SHA1 Message Date
Philippe Marschall
dcc9da8273 BATCH-2407 Use StringBuilder instead of StringBuffer
With Java 1.5 StringBuilder is preferred over StringBuffer for single
threaded access as is has less overhead.

This is evidenced by the class comment of StringBuffer and Effective
Java 2nd Edition Item 67: Avoid excessive synchronization.

> The StringBuilder class should generally be used in preference to
> this one, as it supports all of the same operations but it is faster,
> as it performs no synchronization.

 - replace StringBuffer with StringBuilder where possible

Issue: BATCH-2407
2015-08-06 10:22:39 -05:00
Philippe Marschall
3783345c55 BATCH-2412 Add guards around debug statements
In various places in the code base a debug message is constructed
unconditionally. This adds unnecessary overhead in the common case when
debug logging is off.

 - add guards around debug statements in non-test code

Issue: BATCH-2412
2015-08-05 12:04:44 -05:00
Jonathan Gray
dc6a2c93b8 BATCH-2402 Refactored (behaviour is exactly the same) to avoid temporary String allocation in order to be more memory space efficient. This helps to avoid garbage collection with large numbers of batch lines and large numbers of quoted tokens. 2015-07-10 12:17:08 -05:00
Michael Minella
973fe44d6c Added comment 2015-06-15 11:14:45 -05:00
Matthew Ouyang
248b5a69a7 BATCH-2380: disallow null + empty delimiter 2015-06-12 23:29:30 -04:00
Michael Minella
6b688fa2b5 Polishing BATCH-2387 2015-05-19 12:34:27 -05:00
Matthew Ouyang
dfe01f766c add new SynchronizedItemStreamReader
Decorator for an ItemStreamReader
2015-05-19 12:10:22 -05:00
Seo Kyung-Seok
834d8ee627 BATCH-2205:
MethodInvokingTaskletAdaper does not support primitive arguments.
 - Improvement of
AbstractMethodInvokingDelegator.targetClassDeclaresTargetMethod()
2015-05-18 16:22:35 -05:00
Michael Minella
ab80c33a2a MultiResourceItemReader executes all or none of the ItemStream methods
If no resources are found to be passed to the delegate ItemStream,
ItemStream#open is not called.  This commit updates the close side to
not call the delegate's close method if the open was not called.

BATCH-2378
2015-05-15 15:15:25 -05:00
Michael Minella
02cfe20225 Refactored to keep column aliases in certain conditions
The solution for BATCH-2079 was too agressive in that it removed table
references from columns in places that ended up in where clauses.  Since
SQL does not support the use of column aliases in where clauses, the
table references are needed.  This fix should address adding the aliases
back where needed, while keeping them out in the windowing paging query
use cases where they were problematic.

BATCH-2360
2015-05-15 14:11:31 -05:00
Michael Minella
84fc0c3f7c Reset page and item count on RepositoryItemReader#close()
When closing the RepositoryItemReader, this commit now resets the
current item index and page index to be 0 so that it can be reused
imediately (instead of requiring the reader be step scoped for the reset
to occur).

BATCH-2365
2015-03-31 15:19:34 -05:00
Michael Minella
7c60b055c3 Removed dependency on ParameterizedRowMapper
To support Spring Framework 4.2 which removes ParameterizedRowMapper,
all references to that were switched to RowMapper.  As of Spring 3, the
interfaces are identicle so this should cause no backward compatability
issues.

BATCH-2369
2015-03-31 14:08:38 -05:00
Michael Minella
4c72e0407f Updated afterPropertiesSet checks to verify that fragmentRooteElementNames is not empty BATCH-2352 2015-03-06 13:06:26 -06:00
Michael Minella
5fdcc4d272 Added setter for properties in the Neo4JItemReader 2015-02-19 17:24:25 -06:00
jpraet
d7fe0ab8ed BATCH-2328: PagingQueryProvider implementations should add parenthesis
around where clause
2015-02-05 12:34:42 -06:00
Michael Minella
2ae6388c12 Fixes the RepositoryItemReader ignoring explicitly set currentItemCount
If the user explicitly sets the currentItemCount value on a
RepositoryItemReader, prior to this commit, it is ignored.  this commit
addresses this by moving the current counter up to the correct value
when that value is set.  This fix addresses BATCH-2274.

This commit also addresses a number of compiler warnings around javadoc.
2014-10-16 17:20:48 -05:00
Michael Minella
00abd5e262 Update javadoc to remove javadoc warnings 2014-09-23 14:28:43 -05:00
Michael Minella
1857743712 Fixed configuration of sort keys in JdbcPagingItemReader
The JdbcPagingItemReader allows the configuration of multiple sort keys.
If a user configures one of those columns with a table alias, it causes
issues.  This update strips the aliases off of the sort keys.
2014-09-22 14:58:28 -05:00
Adam Richeimer
44fc2b1069 Change ClassifierCompositeItemWriter to honor item order
The ClassifierCompositeItemWriter loops through the items passed to the
write method twice.  The first time to classifier each item.  The second
tiem to perform the actual writes (this prevents the unnecessicary IO if
an error occurs during classification).  A HashMap was previously used
to hold the classified items (key to the writer : item) however this
causes the items to be written out of order.  This update changes it to
a LinkedHashMap to honor the order the items come in.
2014-09-16 11:17:28 -05:00
Michael Minella
04b339b8f4 Add BeanCreationException to list of standard failure exceptions
Without this change, when passing an invalid job parameter to a bean
that is created internally by Spring Batch will cause a
BeanCreationException that is essentially ignored.  Due to it being
ignored, an infinite loop occurs in processing.
2014-09-16 11:01:30 -05:00
Seo Kyung-Seok
1e54018df3 Deleting an unnecessary import class in ExecutionContext.
"import org.springframework.util.Assert;"
2014-09-15 15:55:15 -05:00
Chris Schaefer
587680ba56 XD-1027: Create script-based batch ItemProcessor 2014-07-18 11:55:17 -05:00
Michael Minella
ca8087dfc6 BATCH-2206: Added option to set collection for MongoItemReader 2014-05-22 11:31:41 -05:00
Michael Minella
4fe22fc511 BATCH-2232: Fixed generics for RepositoryItemReader#setRepository 2014-05-15 09:49:55 -05:00
Michael Minella
e7a4e348a5 BATCH-2229 & BATCH-2218: Removed OSGi related metadata and Maven POMs 2014-05-12 15:32:02 -05:00
Michael Minella
2c2744ff88 BATCH-2202: Removed unnecessecary LdifAggregator and corrected javadoc on RecordCallbackHandler 2014-04-22 10:33:49 -05:00
Michael Minella
337b844fc9 Bringing the LDIF based ItemReader from Spring LDAP to Spring Batch to break circular dependency 2014-04-22 10:33:49 -05:00
Michael Minella
9b925c2e84 BATCH-2172: Fixed database version check for DB2ZOS 2014-04-21 17:57:32 -05:00
Michael Minella
e4b2a0bf7d BATCH-2185: Updated to support annotation based listener configuration via javaconfig 2014-04-21 17:46:33 -05:00
Michael Minella
7ca75f58bc BATCH-2092: Added access to line input when an exception is thrown 2014-04-21 17:45:07 -05:00
Michael Minella
81b1e6de79 BATCH-2090: Undeprecated HibernateItemWriter#doWrite(SessionFactory sessionFactory, List<? extends T> items) 2014-04-21 17:42:43 -05:00
Darren Gorman
8bfc0d2ab8 Removed serialisable check on ExecutionContext entries
The serialisation/deserialisation implementation is injectable, so it does not make sense to enforce the presence of this interface
2014-04-11 16:33:35 -05:00
jpraet
947883bf62 add ClassifierCompositeItemProcessor 2014-04-03 12:26:42 -05:00
Michael Minella
74992367a2 BATCH-2188: Refactored package.html to package-info.java and added package-info.java to all packages that needed one 2014-04-02 16:23:09 -05:00
jpraet
b26d272d43 cleanup 2014-04-02 14:35:53 -04:00
Chris Schaefer
65f37c170a BATCH-2201: Update URL's to point to spring.io in docs
Update URLs pointing to springframework/springsource to spring.io.
Remove links that have no redirection
2014-03-25 12:24:37 -04:00
jpraet
fec3d57f22 BATCH-1896 2014-03-19 11:07:54 -05:00
jpraet
3749b40e86 BATCH-1785 2014-03-10 11:10:26 -05:00
Michael Minella
9317ab2565 BATCH-2112: Removed Spring Batch's SerializationUtils in favor of the Spring Core version 2014-02-12 11:23:03 -06:00
Michael Minella
b278239751 BATCH-2110: Updated batch to support Spring 4
* Refactored iBatis based readers and writers to not utilize
 SqlMapClientTemplate.
* Depricated all iBatis based readers and writers in favor of MyBatis's
 native Spring support.
* Updated XStream support to 1.4.4 and Jettison to 1.2 to be in
 alignment with Spring 4.
* Added the PooledEmbeddedDataSource to address the issue outlined in
 SPR-11372.
2014-02-06 11:34:33 -06:00
Michael Minella
ed310069fe BATCH-2163: Updated documentation and copyright dates 2014-02-05 16:35:38 -06:00
Luke Taylor
05f3fd73f7 BATCH-2163: Use correct 'since' version. 2014-02-05 16:16:07 -06:00
Luke Taylor
2c007deaf6 BATCH-2163: Add support for SQLite.
Adds a DatabaseType, scripts, a DataFieldMaxValueIncrementer and
a PagingQueryProvider for SQLite.
2014-02-05 16:16:07 -06:00
Michael Minella
f5a31a99a2 BATCH-2046: Updated copyright dates and added @since 2014-02-05 15:54:51 -06:00
jpraet
c8bcdf3c62 fix for missing namespace prefix in closing tag on restart 2014-02-05 14:30:26 -06:00
jpraet
e468f231c0 BATCH-2046: StaxEventItemWriter item grouping tag 2014-02-05 14:30:26 -06:00
Michael Minella
b985c52b4d Refactored CheckpointAlgorithmAdapter to be stateful 2013-12-12 14:36:21 -06:00
Michael Minella
dba6590dc2 BATCH-2141: Adding missing page increment when jumping position 2013-11-22 16:18:46 -06:00
stephlag
3c63baa9d8 Corrected typo (HOLD_CUSORS_OVER_COMMIT -> HOLD_CURSORS_OVER_COMMIT) 2013-11-22 16:18:46 -06:00
Arne Borrmann
856e25a862 BATCH-2040: Fix for erroneous SQL-Query in PagingQueryProvider
- added method for replacing qualifiers with subquery-qualifiers in
select clause
- refactored buildsort method
- Replaced HashMap with LinkedHashMap for right sort orders
2013-11-22 15:40:45 -06:00