There are cases, when you want to extend the JdbcPagingItemReader
by adding some custom fields and behaviours, but want to stay in
the normal way of creating this class via a Builder class.
If you want to do it, you currently have to reimplement the whole
class just for adding some fields because there is no non-ugly way
to access the fields. This commit makes those properties protected,
so one can override the default build() method behaviour in the
derived class and still have access to the properties.
Issue #4331
Before this commit, it was not possible to pass a null encoding
to the StaxEventItemReader, which prevents the XML event reader
to auto-detect the file encoding.
This commits makes the encoding setter more lenient by accepting
a null value.
Resolves#4101
Before this commit, state validation rules in RepositoryItemReader
were not consistent with those applied in its builder.
This commit makes validation rules consistent between the two ways
of creating a RepositoryItemReader. This commit also adds a getter
for the component name in ExecutionContextUserSupport to be able to
assert on it where appropriate down the hierarchy.
Resolves#4276
Before this commit, the parsing of job parameters in
JobOperator#start and MetaDataInstanceFactory#createJobExecution
was accepting the comma separated key=value pairs format,
which is incompatible with the new job parameters format
introduced in v5.
This commit updates the contract as well as the implementation
of those APIs to be compatible with v5.
Resolves#4253Resolves#4301
Consistently use Assert.state in the afterPropertiesSet()
methods to throw IllegalStateException instead of
IllegalArgumentException when some properties are missing
and/or invalid.
Resolves#2244
Based on the decision to discontinue the support
of Spring Data for Apache Geode [1], this commit
removes the support for Geode in Spring Batch.
The code will be moved to the spring-batch-extensions
repository as a community-driven effort.
[1]: https://github.com/spring-projects/spring-data-geode#noticeResolves#4214
This commit changes the default execution context serializer to
DefaultExecutionContextSerializer, which makes Jackson an optional
dependency.
Resolves#4140