HibernateCursorItemReader
This commit adds convenience methods for simplifying the creation of a
HibernateNativeQueryProvider using the HibernateCursorItemReaderBuilder.
This commit removes the iBatis based ItemReaders and ItemWriter. They
were depricated in the 3.0 line in favor of the MyBatis natively
provided ItemReader and ItemWriter implementations. This removes those
depricated components.
Resolves BATCH-2591
This commit adds a builder for the HibernateItemWriter. It also removes
the previously depricated HibernateTemplate references from the
HibernateItemWriter.
Resolves BATCH-2585
Spring Batch's implementation of JSR-352 previously relied on Spring's
ContextSingletonBeanFactoryLocator. However, this has been removed in
Spring 5 as a relic of older EJB based use cases. This commit now
lazily bootstraps the base context on it's own when the first
JsrJobOperator is requested.
Resolves BATCH-2572
This commit removes the requirement for a Resource to be configured at
build time. This requirement prevented the use of this builder along
with the MultiResourceItemReader.
This commit adds a proper assertion that the writer has been properly
opened prior to executing a write. This now returns a
WriterNotOpenException instead of the previous NullPointerException.
Resolves BATCH-2343
In merging BATCH-1955, we accidentally prevented the ability to use a
Map as an item, named parameters, and an ItemSqlParameterSourceProvider.
This commit re-enables that capability by checking if the
ItemSqlParameterSourceProvider is null. If it's not, it's used.
This commit moves all SNAPSHOT dependencies to the latest available
released versions. It also addresses a number of deprications in the
Spring Data realm. Specifically around the deprication of the
Neo4JOperations and the package reorganization within Hibernate.
This commit adds a builder for the JdbcBatchItemWriter that includes a
couple nicities to simplify configuration of basic use cases.
Resolves BATCH-2561
This commit upgrades the minimum requiremnt for Neo4J to be in alignment
with the rest of the Spring IO platform. Because of this, the Neo4J4
module has been removed since the main line is now at the current level.
This commit adds a builder for the `FlatFileItemReader` and commonly
used releated components (`BeanWrapperFieldSetMapper`,
`DelimitedLineTokenizer`, and `FixedLengthTokenizer`).
Resolves BATCH-2549
The new Spring 5 baseline consists of Spring 5, Hibernate 5, and Java 8.
This commit addresses any changes to create a successful build of Spring
Batch under those guidances. Further commits will be coming to address
Java 8 specifics as areas of the project are touched.
Resolves BATCH-2536
DB2 connections to the AS/400 report incorrectly back as DB2 z/OS. The
current AS/400 reports Database Product Name as "DB2 UDB for AS/400".
Database Product Version has three possible return values based on
product used:
JTOpen reports "07.01.0000 V7R1m0".
Native Driver reports "V7R1M0".
PRDID reports "QSQ07010"
http://www-01.ibm.com/support/knowledgecenter/SSEPEK_10.0.0/com.ibm.db2z10.doc.java/src/tpc/imjcc_c0053013.dita
Also added code to handle DB2 Server for VM and VSE. This code should
handle the different DB2 Versions.
Spring Community Contributor
Hibernate 5 changed the signature of the Session#close() method from
returning a Connection to being void. To support both verions, we've
moved to making the call via reflection.
This commit also upgrades the ActiveMQ version used in testing to be
compliant with the Spring IO Platform.
Resolves BATCH-2496
This adds a new ItemReader that works with the Spring Data 4 updated
Neo4JOperations implementation as well as the updated data conversion
techniques.
Resolves BATCH-2473
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
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
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
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
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
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
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.