Before this commit, metrics were not collected in a fault-tolerant step.
This commit updates the FaultTolerantChunkProcessor to collect metrics.
For the record, chunk scanning is not covered for two reasons:
1. When scanning a chunk, there is a single item in each write operation,
so it would be incorrect to report a metric called "chunk.write" for a
single item. We could argue that it is a singleton chunk, but still..
If we want to time scanned (aka individual) items, we need a more fine
grained timer called "scanned.item.write" for example.
2. The end result can be confusing and might distort the overall metrics
view in case of errors (because of the noisy metrics of additional transactions
for individual items).
As a reminder, the goal of the "chunk.write" metric is to give an overview
of the write operation time of the whole chunk and not to time each item
individually (this could be done using an `ItemWriteListener` if needed).
Resolves#3664
This commit fixes incorrect references to `AggregateItemReader#__$$BEGIN_RECORD$$__`
and `AggregateItemReader#__$$END_RECORD$$__` by updating the description of the
reader with the one in its Javadoc.
It also adds a note that the AggregateItemReader is not part of the standard library
of readers provided by Spring Batch but only given as a sample.
Issue #1793
Modify `removeKeyWord(...)` such that the keyword is removed regardless
of what kind of whitespace follows. This is especially useful for those
who read in SQL from a file which has been formatted such that keywords
live on their own lines.
Added unit tests for trimming whitespace.
Resolves#765
Spring Batch orders the transitions as it goes from state to state based
on specificity. The XML configuration has always had this
functionality. However, when creating the JSR-352 implementation, the
mechanism for which this occured was refactored. That occured at about
the same time as the java builders were introduced. Because of this
crossing of paths, the java configuration option for defining jobs has
never correctly sorted the transitions. This PR applys the sorting
algorithm to the java configuration, making XML and java configuration
behave the same.
Resolves#3638
Before this commit, the default value of comment prefix in
FlatFileItemReaderBuilder was not consistent with the one in
FlatFileItemReader.
This commit changes the default value of comment prefix to # in
the builder to be consistent with the reader.
Resolves BATCH-2862
Previously, if supplying empty comments or no comments to comments() of the FlatFileItemReaderBuilder, the comments would be ignored and instead use the default comments "#" provided by the FlatFileItemReader.
Resolves BATCH-2837
Previously, if supplying an empty delimiter, to the delimited().delimiter() of DelimitedBuilder from the parent FlatFileItemWriterBuilder, it would be ignored and instead use the default delimiter ",".
Resolves BATCH-2844
* Declare duplicate jQuery selectors as variables
* Remove extra semicolons after function declarations
* Remove leftover jquery.js from Java/XML toggle implementation
When the Java/XML toggle implementation was introduced,
jquery-3.2.1.min.js replaced the old jquery script in toggle.adoc
and the old jquery script was accidentally leftover as a result.
Before this commit, the expected behaviour when a skippbale exception
occurs in a fault tolerant chunk-oriented step was not documented in
details.
This commit update the docs and adds a sample for each case (when a
skippable exception occurs during read, process and write).
Resolves BATCH-2541
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 MultiResourceItemWriter.
Resolves BATCH-2720