Commit Graph

5487 Commits

Author SHA1 Message Date
Parikshit Dutta
629497d5bb Implemented BulkOperations API in MongoItemWriter 2020-06-25 11:56:30 +02:00
Mahmoud Ben Hassine
43c40b12ef Update dependencies 2020-06-22 12:51:59 +02:00
Mahmoud Ben Hassine
9a79b4572d Update Jackson2ExecutionContextStringSerializer 2020-06-10 20:11:08 +02:00
Ankur Trapasiya
bbabe0263a Add connectionAutoCommit property in JdbcCursorItemReaderBuilder
Issue #3717
2020-06-02 21:13:28 +02:00
Drummond Dawson
8a6a2bd19a Add beanRowMapper to JdbcPagingItemReaderBuilder
Sets the rowMapper of the JdbcPagingItemReader as
a BeanPropertyRowMapper.

Issue #819
2020-06-02 17:12:45 +02:00
Mahmoud Ben Hassine
e3bc7ded37 Make RepositoryItemWriter use CrudRepository#saveAll by default
Before this commit, the `RepositoryItemWriter` did not use
`CrudRepository#saveAll` by default and one must override
`doWrite` and call it manually, which is not convenient.

This commit makes the writer use `CrudRepository#saveAll`
by default while keeping the possibility to use another
method if desired through the `methodName` parameter.

Resolves #3720
2020-05-29 23:00:11 +02:00
Mahmoud Ben Hassine
09646d8938 Update docs
Fix incorrect git meta-data (<<<<<<< HEAD)
introduced mistakenly in efdce56 which was
causing asciidoc warnings
2020-05-29 21:19:54 +02:00
Mahmoud Ben Hassine
121a48375c Update Spring AMQP to version 2.3.0-SNAPSHOT 2020-05-28 14:27:15 +02:00
Mahmoud Ben Hassine
58bbc962d5 Polish 1eed5a30c3
* Fix section levels
* Fix typos in code examples
* Minor updates
2020-05-26 12:06:54 +02:00
Dimitrios Liapis
1eed5a30c3 Refactor Item processor documentation
Issue #3644
2020-05-25 23:16:40 +02:00
Charvak Patel
7a775cf2d5 Fix misleading Java Code in documentation
Resolves #3692
2020-05-25 23:02:30 +02:00
Mahmoud Ben Hassine
91aa17b22f Polish f37fae670b
* Update year in license header
* Update Javadoc formatting
2020-05-20 14:38:12 +02:00
Matthew Ouyang
f37fae670b Add documentation for how an ItemProcessor.process can never receive a null item. 2020-05-20 14:36:24 +02:00
Dimitrios (Dimi) Liapis
da2a5da79c Fix typo in documentation
Issue #3643
2020-05-20 12:38:10 +02:00
Jay Bryant
2ef32cb069 Upgrade versions of Asciidoctor
Upgrade the versions of Asciidoctor from 1.5/1.6 to 3.1.0,
to reduce technical debt.
2020-05-20 12:34:59 +02:00
Mahmoud Ben Hassine
ffd39087a8 Polish efdce562b0
* Fix typos
* Fix formatting issues
2020-05-20 12:15:08 +02:00
Jay Bryant
efdce562b0 Made the "Both" option make sense
I edited the leader paragraphs above each code block that
was flagged as being XML or Java content, such that the
paragraphs make sense when both the XML and the Java blocks
are present. I turned the Both button back on. I also caught
a bunch of other editing things.

Mahmoud Ben Hassine caught a couple of sentences that were
problematic when the Both option is on. I then caught a couple
of other problems. I fixed all of that.

Thanks for reading closely, Mahmoud. I always appreciate that.
2020-05-20 11:28:31 +02:00
Mahmoud Ben Hassine
ae6cd59155 Update development version to 4.3.0-SNAPSHOT
Reference: https://spring.io/blog/2020/04/30/updates-to-spring-versions
2020-05-20 11:18:32 +02:00
Mahmoud Ben Hassine
511e6c0f12 Polish 670b6408da
* Update year in license headers
* Update Javadoc
* Remove unused field JOB_PARAMETER_MAXIMUM
* Make SecureRandom an instance variable
2020-05-19 10:16:28 +02:00
Saikat Bhadra
670b6408da Change getUniqueJobParameters() to use random number generator that has a lower chance of repeating
Issue #821
2020-05-19 10:04:47 +02:00
Yanming Zhou
28768dc0c6 Support microsecond accuracy for MySQL
see 320cce6446
2020-05-15 11:13:28 +02:00
Yanming Zhou
1322f91492 Improve performance in JdbcStepExecutionDao
It's similar to cafd35c95f
2020-05-15 09:36:25 +02:00
Mahmoud Ben Hassine
f3ad8b301d Update dependencies 2020-05-15 09:15:46 +02:00
Mahmoud Ben Hassine
9fbd3daa54 Polish 117b7d5f2d
* Update year in license headers
* Add/Amend Javadocs
* Update assertion message to be consistent between the writer and its builder
2020-05-14 10:10:00 +02:00
Dimitrios Liapis
117b7d5f2d Introduce SynchronizedItemStreamWriter
Issue #842
2020-05-14 00:19:10 +02:00
Mahmoud Ben Hassine
2f8aff2f38 Add instructions on how to run a full build with all tests 2020-05-12 17:48:43 +02:00
Mahmoud Ben Hassine
71afbbd7c7 Add integration test for MySQL date millisecond precision
Issue #2202
2020-05-12 17:48:43 +02:00
Parikshit Dutta
320cce6446 Updated MySQL DDL and Added Migration Script for v4.3 2020-05-12 16:32:17 +02:00
Mahmoud Ben Hassine
60a662d929 Update GitHub community health files 2020-05-09 00:14:53 +02:00
Philippe Marschall
10fd3716f0 Improve TransactionAwareBufferedWriter
TransactionAwareBufferedWriter offers a number of optimization
potentials. First it creates an unnecessary local, temporary char[]
in write(char[], int, int). Second it does not overwrite any of the
#write(String) methods leading to unnecessary intermediate copies.

 * avoid local, temporary char[] in #write(char[], int, int)
 * overwrite #write(String) methods to avoid copies

Together these two changes should help to reduce allocation rate.

Issue: #1166
2020-05-07 16:19:17 +02:00
Mahmoud Ben Hassine
fe51fde3a0 Meta-annotate @SpringBatchTest with @ExtendWith(SpringExtension.class)
Resolves #3647
2020-04-30 17:33:37 +02:00
Jay Bryant
60a99ca3fe Updated spring-doc-resources version
Updated the spring-doc-resources version from 0.2.0 to 0.2.1
to get a bug fix (setting the display width for HTML output).
2020-04-25 07:15:48 +02:00
Maxim Cheban
cafd35c95f Improve performance in JdbcStepExecutionDao
Optimize SQL in GET_LAST_STEP_EXECUTION to work fast on large amount of records in %PREFIX%JOB_EXECUTION table
2020-04-25 06:53:20 +02:00
Baris Cubukcuoglu
b50c665f04 Add method StepExecutionDao.countStepExecutions to eliminate for-loop in SimpleJobRepository.getStepExecutionCount
Resolves #3657
2020-04-24 07:08:46 +02:00
Parikshit Dutta
56fbc270e2 Removed redundant logical checks from MongoItemReaderBuilder and MongoItemReader
to prevent false alarm for not providing the limit for query or pagesize for the reader

Issue #3673
2020-04-23 12:21:19 +02:00
Ruslan Mustaev
bd016a9444 Add usePersist chain method to JpaItemWriterBuilder 2020-04-17 12:14:22 +02:00
Jay Bryant
e5cafe4625 Use local storage rather than a cookie
I learnt that local storage is the preferred way to save a user's preferences. A cookie is sent to the server on every request, which makes for needless traffic. I "borrowed" the idea from the Spring Framework docs.
2020-04-17 10:52:25 +02:00
Mahmoud Ben Hassine
9191a72206 Update year in copyright footer 2020-04-17 10:22:48 +02:00
Mahmoud Ben Hassine
78fedb7d41 Fix typo in Javadoc of KafkaItemReader 2020-04-16 12:26:14 +02:00
Santiago Molano
fb21b30d7d Fixed FlatFileItemReaderBuilder LineTokenizer validation
Fixed validation for the FlatFileItemReaderBuilder where no
LineTokenizer had been provided.

Resolves: #3688
2020-03-31 16:14:02 -05:00
Jay Bryant
a7450d5108 Updated spring-doc-resources version
Gives us the new look and feel and more readable code listings.
2020-03-31 18:41:26 +02:00
Mahmoud Ben Hassine
6cca32fde0 Fix metrics collection in FaultTolerantChunkProcessor
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
2020-03-31 16:37:12 +02:00
Mahmoud Ben Hassine
d933e4d7df Upgrade Gradle to v6.3 to support Java 14
This commit also upgrades Groovy version to v2.5.10
which is required to build correctly against Java 14

Resolves #3685
2020-03-25 11:51:01 +01:00
Sanghyuk Jung
b9fa9c3786 Fix constructor of JsonItemReader to call setExecutionContextName()
Resolves #3681
2020-03-24 18:36:56 +01:00
jinwook han
0ecc052190 fix documentation of JobExecutionNotRunningException
execution -> checked exception
2020-03-24 16:15:20 +01:00
Mahmoud Ben Hassine
4e07b33a9d Add templates for issues and pull requests 2020-03-20 21:48:58 +01:00
Mahmoud Ben Hassine
999ef54328 Add extra check on connection state in AbstractCursorItemReader#doClose
Issue #868
2020-03-18 21:38:42 +01:00
Mahmoud Ben Hassine
f94446878b Fix line tokenizer validation in FlatFileItemReaderBuilder
Resolves #766
2020-03-17 23:27:47 +01:00
Mahmoud Ben Hassine
6ab141bb44 Fix incorrect description of AggregateItemReader in "Appendix A"
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
2020-03-13 11:22:45 +01:00
Chris Schaefer
d6f90a1d21 BATCH-2270: Allow ScriptEvaluator to be injectable in the ScriptItemProcessor 2020-03-13 09:25:00 +01:00