Commit Graph

409 Commits

Author SHA1 Message Date
Mahmoud Ben Hassine
078b011fe8 Update maven pom files
- Remove unused plugins and repositories
- Extract versions as properties
2022-12-09 02:47:04 +01:00
Mahmoud Ben Hassine
debdd9f49c Revert "Update next development version to 5.1.0-SNAPSHOT"
This reverts commit 7a34a1520f.
2022-12-09 01:30:34 +01:00
Mahmoud Ben Hassine
7a34a1520f Update next development version to 5.1.0-SNAPSHOT 2022-12-08 17:26:37 +01:00
Spring Builds
656e3f8895 [artifactory-release] Next development version 2022-11-24 03:30:11 +00:00
Spring Builds
3bef84da7c [artifactory-release] Release version 5.0.0 2022-11-24 03:30:08 +00:00
Danilo Piazzalunga
fc0ec01ff8 Throw IllegalStateException from afterPropertiesSet
Consistently use Assert.state in the afterPropertiesSet()
methods to throw IllegalStateException instead of
IllegalArgumentException when some properties are missing
and/or invalid.

Resolves #2244
2022-11-23 12:22:26 +01:00
Mahmoud Ben Hassine
b9d6e26d61 Open ChunkMessageChannelItemWriter for extension
Resolves #952
2022-11-23 10:51:26 +01:00
Mahmoud Ben Hassine
596ee705c8 Refine contribution #3932
* Add default methods in interfaces
* Update tests/Javadoc
* Optimize imports
* Apply code style formatting
2022-11-23 08:08:23 +01:00
Parikshit Dutta
5a35b03300 Add getJobInstance method in JobExplorer/JobRepository
Resolves #3930
2022-11-23 07:44:24 +01:00
Spring Builds
e273ec151e [artifactory-release] Next development version 2022-11-09 14:34:37 +00:00
Spring Builds
420a7baa75 [artifactory-release] Release version 5.0.0-RC2 2022-11-09 14:34:34 +00:00
Mahmoud Ben Hassine
2edd4006d2 Change the return type of counting methods in various DAOs from int to long
This is required for job repository/explorer implementations
that use the Long type to count records in the database.

Resolves #4227
2022-11-08 22:06:16 +01:00
Spring Builds
24283a8a1f [artifactory-release] Next development version 2022-10-19 23:57:21 +00:00
Spring Builds
adde7d764e [artifactory-release] Release version 5.0.0-RC1 2022-10-19 23:57:18 +00:00
Spring Builds
58c760b3ef [artifactory-release] Next development version 2022-10-13 10:34:01 +00:00
Spring Builds
87f3644667 [artifactory-release] Release version 5.0.0-M8 2022-10-13 10:33:58 +00:00
Mahmoud Ben Hassine
219fd7f2e2 Deprecate DelegateStep 2022-10-12 18:50:13 +02:00
Mahmoud Ben Hassine
2b258d1b88 Change the default execution context serializer to DefaultExecutionContextSerializer
This commit changes the default execution context serializer to
DefaultExecutionContextSerializer, which makes Jackson an optional
dependency.

Resolves #4140
2022-10-10 10:39:50 +02:00
Spring Builds
58ce4fecac [artifactory-release] Next development version 2022-10-05 04:16:28 +00:00
Spring Builds
771c14f00d [artifactory-release] Release version 5.0.0-M7 2022-10-05 04:16:25 +00:00
Mahmoud Ben Hassine
2660f2bb27 Add support to use any type as a job parameter
This commit also changes the way job parameters
are parsed and persisted.

NB: This commit should ideally have been split
into two change sets. But the changes are tightly
related that is was not possible to separate them.

Related to:

* https://github.com/spring-projects/spring-batch/issues/3960
* https://github.com/spring-projects/spring-batch/issues/2122
* https://github.com/spring-projects/spring-batch/issues/1035
* https://github.com/spring-projects/spring-batch/issues/1983
2022-10-04 20:35:50 +02:00
Mahmoud Ben Hassine
39b8279831 Fix incorrect reference to SimpleJdbcTemplate in reference documentation
Resolves #4197
2022-09-22 07:11:33 +02:00
Spring Builds
83ef59ac5e [artifactory-release] Next development version 2022-09-21 18:35:32 +00:00
Spring Builds
ba7cad4ad8 [artifactory-release] Release version 5.0.0-M6 2022-09-21 18:35:29 +00:00
Mahmoud Ben Hassine
40b4be3c14 Add transaction support in JobExplorerFactoryBean
This commit adds support to create a transactional
proxy around the JobExplorer created by the
JobExplorerFactoryBean.

Resolves #1307
2022-09-21 03:28:59 +02:00
Mahmoud Ben Hassine
0a71cb7d93 Fix Javadoc of RemoteChunkingManagerStepBuilder 2022-09-21 02:43:42 +02:00
Mahmoud Ben Hassine
48e437ae17 Revisit the configuration code of EnableBatchProcessing
Before this commit, the configuration of infrastructure beans
was confusing and not straightforward to customize. This commit
changes the way Batch infrastructure beans are configured.
The most important changes are:

* EnableBatchProcessing now provides new attributes to
configure properties of infrastructure beans
* Bean registration is now done programmatically with a
BeanDefinitionRegistrar instead of importing a class with
statically annotated bean definition methods
* Bean are now resolved from the application context directly
instead of being resolved from a BatchConfigurer
* Both a data source and a transaction manager are now
required to be defined in the application context
* A new configuration class called DefaultBatchConfiguration
with default infrastructure bean definitions is now provided
and can be extended to customize the default configuration

Resolves #3942
2022-09-20 12:24:10 +02:00
Mahmoud Ben Hassine
f39f07075a Improve Step/Job builder APIs to guide users to set mandatory properties
Before this commit, the user had to manually set the job repository and transaction
manager on `JobBuilder` and `StepBuilder` instances with a chained call to
`.repository(jobRepository)` and `.transactionManager(transactionManager)`.
This is error prone and can lead to runtime errors if these properties are not set.

This commit introduces new APIs to guide the user to set these properties at
builder creation time.

Resolves #4192
2022-09-17 22:31:12 +02:00
Mahmoud Ben Hassine
7c8fb172a7 Move the transaction manager configuration to AbstractTaskletStepBuilder
Before this commit, the transaction manager was configurable
at the StepBuilder level, which is inconsistent with the XML
config style in addition to be not needed for most step types.

This commit moves the configuration of the transaction manager
from the StepBuilder down to the AbstractTaskletStepBuilder,
which is the level where the transaction manager is needed.

Resolves #4130
2022-09-08 11:35:14 +02:00
Spring Builds
878578f829 [artifactory-release] Next development version 2022-08-24 17:14:59 +00:00
Spring Builds
7fc0af6785 [artifactory-release] Release version 5.0.0-M5 2022-08-24 17:14:56 +00:00
Mahmoud Ben Hassine
fe40370f39 Refine contribution #4167
The documentation generation change introduced
in #4167 seems to scan more files than previously
WRT checking the code formatting style.

This commit fixes the formatting of the files
that do not conform to the Spring style.
2022-08-21 09:52:35 +02:00
Mahmoud Ben Hassine
e67c0069f1 Use the Chunk API consistently
This commit replaces the usage of List with Chunk
where appropriate. Summary of changes:

- The Chunk class was moved from the `org.springframework.batch.core.step.item` package to the `org.springframework.batch.item` package
- The signature of the method `ItemWriter#write(List)` was changed to `ItemWriter#write(Chunk)`
- All implementations of `ItemWriter` were updated to use the Chunk API instead of List
- All methods in the `ItemWriteListener` interface were updated to use the Chunk API instead of List
- All implementations of `ItemWriteListener` were updated to use the Chunk API instead of List
- The constructor of `ChunkRequest` was changed to accept a Chunk instead of a Collection of items
- The return type of `ChunkRequest#getItems()` was changed from List to Chunk

Resolves #3954
2022-08-19 13:40:09 +02:00
Mahmoud Ben Hassine
14b443bc64 Fix formatting 2022-08-10 11:38:58 +02:00
Mahmoud Ben Hassine
9211c2d211 Make MessageChannelPartitionHandler extend AbstractPartitionHandler 2022-08-03 10:52:36 +02:00
Henning Poettker
ae5ffd273a Migrate Spring Batch Integration to JUnit Jupiter 2022-08-02 18:24:15 +02:00
Spring Builds
08adb4550a [artifactory-release] Next development version 2022-07-21 03:17:06 +00:00
Spring Builds
d46aeef01d [artifactory-release] Release version 5.0.0-M4 2022-07-21 03:17:03 +00:00
Henning Poettker
a393dc533d Replace deprecated IntegrationFlows 2022-07-20 18:28:34 +02:00
Marvin Deng
c0791039dc Rename SimpleJobLauncher to TaskExecutorJobLauncher
Resolves #4123
2022-07-19 13:34:23 +02:00
Mahmoud Ben Hassine
565ddcdf96 Change transaction manager type in default batch configuration
This commits changes the type of the transaction manager
from `DataSourceTransactionManager` to `JdbcTransactionManager`
in the default configuration of `@EnableBatchProcessing`.

The `JdbcTransactionManager` adds common JDBC exception translation
which is beneficial for Spring Batch to improve exception handling
and error reporting.

Resolves #4126
2022-07-16 17:52:43 +02:00
Henning Poettker
3ef199b92b Reduce use of deprecated APIs 2022-07-16 00:17:46 +02:00
Henning Poettker
451db9a968 Fix tests catching nested exceptions
These tests started failing after an upstream
change in Spring Framework [1].

[1]: https://github.com/spring-projects/spring-framework/issues/25162
2022-07-16 00:06:42 +02:00
Taeik Lim
12bd08de07 Add package-info.java to integration 2022-07-15 23:52:11 +02:00
Mahmoud Ben Hassine
c4ad90b9b1 Apply spring-javaformat style for consistency with other projects
Resolves #4118
2022-05-25 23:06:48 +02:00
Spring Builds
b9bc4c1488 [artifactory-release] Next development version 2022-05-19 01:22:57 +00:00
Spring Builds
a99f1c8645 [artifactory-release] Release version 5.0.0-M3 2022-05-19 01:22:54 +00:00
Spring Builds
437f4797f8 [artifactory-release] Next development version 2022-03-23 11:57:35 +00:00
Spring Builds
273ddeed90 [artifactory-release] Release version 5.0.0-M2 2022-03-23 11:57:32 +00:00
Spring Builds
75b1492039 [artifactory-release] Next development version 2022-01-19 12:13:24 +00:00