Commit Graph

2168 Commits

Author SHA1 Message Date
Fadhel Mahmoud Ben Hassine
08e04817d1 Refine #4131
* Deprecate SimpleJobLauncher in favor of TaskExecutorJobLauncher
* Update year in license headers
2022-07-19 13:58:22 +02:00
Marvin Deng
c0791039dc Rename SimpleJobLauncher to TaskExecutorJobLauncher
Resolves #4123
2022-07-19 13:34:23 +02:00
Henning Pöttker
d280556d02 Let fluent setters of SimpleStepBuilder return proper type
Let fluent setters of `SimpleStepBuilder` return `this` with type `SimpleStepBuilder`.
This makes the required order of some fluent setters a bit more lenient and prevents
that `AbstractTaskletStepBuilder::listener` for parameters of type `Object` is invoked
although an overloaded method specific for `SimpleStepBuilder` is intended.

Fixes #773 and #1098.
2022-07-19 13:20:57 +02:00
Fadhel Mahmoud Ben Hassine
8fef41bd76 Rename BatchStepTagsProvider to BatchStepKeyValuesProvider
This rename is for consistency with
BatchJobKeyValuesProvider

Related to a19eefa7fd
2022-07-19 12:43:23 +02:00
Jonatan Ivanov
9b3b899360 Remove *Aware interfaces from Micrometer 2022-07-18 18:07:13 -07: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
Mahmoud Ben Hassine
b89ea8e789 Fix tests related to infrastructure beans configuration
These tests seem to start failing since 31af573 but were
not caught due to #4121. This commit fixes the tests that
are related to infrastructure beans configuration.

Some other tests seems to have started failing as well but
are not related to this change set. There were temporarily
ignored in this commit and will be addressed separately.

Issue #4121
2022-07-13 05:30:37 +02:00
Mahmoud Ben Hassine
c65b93f707 Add non null assertions in Job/Step builder factories 2022-07-12 19:27:22 +02:00
Mahmoud Ben Hassine
a346f14f80 Change visibility of application context to protected in AbstractBatchConfiguration 2022-07-12 07:11:34 +02:00
Mahmoud Ben Hassine
84ff16addf Remove unused imports 2022-07-12 07:08:46 +02:00
Mahmoud Ben Hassine
a3bba3908e Remove redundant imports validation
Imports validation is done in BatchConfigurationSelector.
This commit removes the redundant validation done in
AbstractBatchConfiguration.
2022-07-12 07:07:29 +02:00
Mahmoud Ben Hassine
0b2a2c26a2 Add junit-vintage-engine test dependency to spring-batch-core
Failing tests will be fixed in a separate commit.

Resolves #4121
2022-06-22 11:57:54 +02:00
Mahmoud Ben Hassine
95a3cf0f4c Fix tests 2022-06-22 11:41:22 +02:00
Mahmoud Ben Hassine
3454cec279 Fix annotation based listener registration in FaultTolerantStepBuilder
Resolves #4137
2022-06-22 11:09:32 +02:00
Mahmoud Ben Hassine
08f8c75ee6 Add test to serialize/deserialize records in the execution context 2022-06-02 10:40:20 +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
Mahmoud Ben Hassine
be82a040a1 Remove micrometer-commons dependency
This is already a transitive dependency of
micrometer-observation which is declared
as a compile time dependency.
2022-05-24 15:22:11 +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
Mahmoud Ben Hassine
c4076e855d Prefix micrometer metric tags with meter names
This is what is recommended by the observability
team in terms of tag naming with micrometer 1.10+
for consistency between both metrics and tracing.

In #4065, only some metrics have been updated to
follow this tag naming convention, but not all of
them. This commit updates all metrics in a similar
way for consistency.

Related to #4065 and #4098.
2022-05-19 02:07:27 +02:00
Taeik Lim
9ecbf9875b Add @Nullable where appropriate in JobExecution and StepExecution
Issue #4077
2022-05-18 11:31:18 +02:00
Mahmoud Ben Hassine
9315a3b438 Make charset configurable in JdbcExecutionContextDao
Issue #795
2022-05-17 21:34:06 +02:00
Mahmoud Ben Hassine
12c5cb967d Change default encoding to UTF-8 in JdbcExecutionContextDao
Resolves #3983
2022-05-17 20:07:03 +02:00
Mahmoud Ben Hassine
398d52a581 Add javax.xml.namespace.QName to trusted classes in Jackson serializer
This class is safe to deserialize according to Jackson:
https://github.com/FasterXML/jackson-databind/blob/master/src/main/java/com/fasterxml/jackson/databind/jsontype/impl/SubTypeValidator.java

This also has been checked against Jackson 2.11 to confirm
the backport of this enhancement to 4.3.x.

Resolves #4044
2022-05-17 15:32:21 +02:00
Mahmoud Ben Hassine
c0b8211c4f Add java.util.UUID to trusted classes in Jackson serializer
This class is safe to deserialize according to Jackson:
https://github.com/FasterXML/jackson-databind/blob/master/src/main/java/com/fasterxml/jackson/databind/jsontype/impl/SubTypeValidator.java

This also has been checked against Jackson 2.11 to confirm
the backport of this enhancement to 4.3.x.

Resolves #4110
2022-05-17 11:26:00 +02:00
Mahmoud Ben Hassine
72d9177cf1 Minor refactoring
- Extract/Rearrange methods
- Inline variables
- Improve Javadoc formatting
2022-05-15 06:43:56 +02:00
Mahmoud Ben Hassine
670770578a Remove JobRegistry bean definition in SimpleBatchConfiguration
This bean definition is already declared in the parent class.
2022-05-15 01:54:41 +02:00
Mahmoud Ben Hassine
a34a464763 Make ModularBatchConfiguration extend SimpleBatchConfiguration
This change makes the added value of ModularBatchConfiguration
compared to SimpleBatchConfiguration more visible.
2022-05-15 01:27:14 +02:00
Mahmoud Ben Hassine
31af573153 Remove the lazy proxy creation of batch artifacts in batch configuration
The lazy proxy creation of batch artifacts was intended to prevent
configuration cycles from happening. However, this is implemented in
SimpleBatchConfiguration but not in ModularBatchConfiguration.

Removing this laziness in the configuration process does not introduce
any regression neither in tests nor in samples. This commit makes
SimpleBatchConfiguration consistent with ModularBatchConfiguration.
2022-05-15 01:27:13 +02:00
Henning Poettker
234e28a1e8 Allow lambdas to be passed as item processors
Resolves #4061
2022-05-13 23:53:16 +02:00
Mahmoud Ben Hassine
33338a4a30 Remove datasource autowiring in AbstractBatchConfiguration
Before this commit, the datasource was autowired in
AbstractBatchConfiguration. This was causing context
startup failures when no datasource or more than one
datasource is present in the context.

This commit fixes these failures by looking for the
datasource in the application context. This also
prevents cyclic configuration dependencies when
the datasource bean is defined in the same class where
other batch artifacts are autowired.

Resolves #3991
2022-05-13 18:46:33 +02:00
Mahmoud Ben Hassine
74e8caa368 Add default methods in Job and Step interfaces
Default values are consistent with AbstractJob
and AbstractStep.

Issue #3924
2022-05-09 10:29:57 +02:00
Mahmoud Ben Hassine
bbbc4a7a18 Fix Javadoc errors 2022-05-05 17:52:56 +02:00
Jay Bryant
cd43f3b6ee Editing pass for Javadocs
Mostly proofreading but a bit more detail in a couple places.

Issue #4096
2022-05-05 17:35:10 +02:00
Jay Bryant
d00cd947ca Editing pass for Javadocs
Update javadocs of org.springframework.batch.core
but not further down that tree.

Issue #4090
2022-05-05 16:57:01 +02:00
Mahmoud Ben Hassine
a722cd2f53 Refine contribution #4099
- Add migration script for SQLITE
- Update the script of SAP HANA with the new column
2022-04-27 14:56:19 +02:00
Marvin Deng
464985bf0a Distinguish CreateTime and StartTime in StepExecution
- Add field createTime for StepExecution.
- Add column create_time for batch_step_execution and make start_time default null.
- Make getLastStepExecution order by createTime instead of startTime.
- Add migration scripts for 5.0

Resolves #4049
2022-04-27 14:56:18 +02:00
Marcin Grzejszczak
a19eefa7fd Upgraded to Micrometer 1.10.0-SNAPSHOT 2022-04-15 12:35:20 +02:00
Mahmoud Ben Hassine
6fef82eff7 Fix breaking changes introduced in micrometer-commons 2022-03-30 10:25:01 +02:00
Moritz Halbritter
404e0a3dbd Update to Micrometer 2.0.0-SNAPSHOT
See gh-4079
2022-03-25 09:37:18 +01: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
Mahmoud Ben Hassine
984570a1b1 Rename schema-oracle10g.sql to schema-oracle.sql
Resolves ##1057
2022-03-22 17:29:59 +01:00
Drummond Dawson
15e18e5fcd Add constructors with var args/Lists
For classes that have a setter for a List<T> field,
create Constructors that take List<T> and var args of T.

Issue #686
2022-03-21 17:16:24 +01:00
Mahmoud Ben Hassine
968a5b5b2e Refine contribution #595
- Update versions of jdbc driver and docker image
- Update Javadocs
- Remove JOB_CONFIGURATION_LOCATION from DDL schema
- Remove unused resources
2022-03-18 17:45:36 +01:00
Jonathan Bregler
9388abb589 Integrate SAP Hana as supported Spring Batch database
This commit adds SAP HANA as a supported Spring Batch database, enabling
developers to seamlessly move their existing Spring Batch projects to SAP HANA
or easily starting new Spring Batch projects on SAP HANA.

This commit contains the following changes:

- Add SAP HANA to the DatabaseType enum
- Add HanaPagingQueryProvider and tests
- Add properties files for SAP HANA

Issue #2515
2022-03-18 16:52:50 +01:00
Mahmoud Ben Hassine
44dd4f7f56 Make the DOUBLE_TYPE constant public in DefaultJobParametersConverter
This commit changes the visibility of the DOUBLE_TYPE constant
to be consistent with other constants.
2022-03-17 18:39:57 +01:00
Glenn Renfro
4e357097bb Add missing docs for batch.core and batch.core.configuration packages
Issue #4068
2022-03-17 18:36:01 +01:00