Commit Graph

5860 Commits

Author SHA1 Message Date
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
Marvin Deng
adbc39a381 Remove DataAccessResourceFailureException in xml related classes
Resolves #4132
2022-07-18 18:42:35 +02:00
Henning Poettker
a55f556893 Use Hibernate mapping DTD from classpath 2022-07-18 12:45:06 +02:00
Mahmoud Ben Hassine
a30aaac4be Improve generic type handling in RepositoryItemReader 2022-07-17 08:18:20 +02:00
Mahmoud Ben Hassine
5ba363c8ab Remove RepositoryMethodReference from RepositoryItemReaderBuilder
This class and its usage have been reported to be confusing and
causing context startup failures without real added value.

This commit removes that class to simplify the creation
of a RepositoryItemReader through its builder.

Resolves #793
2022-07-17 06:58:29 +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
Henning Poettker
8fefe29895 Enable ignored test in AbstractDelegatorTests 2022-07-15 23:48:53 +02:00
Mahmoud Ben Hassine
53ebd27a5e Enable KafkaItemReaderTests
These tests were temporarily disabled, see 85a9cad.
Now that https://github.com/spring-projects/spring-kafka/pull/2342
is fixed, these tests are re-enabled again.
2022-07-13 19:31:04 +02:00
Mahmoud Ben Hassine
5a69b6b28b Upgrade Hibernate to version 6.1.1.Final 2022-07-13 18:42:39 +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
85a9cad193 Temporarily disable KafkaItemReaderTests
These tests are failing due to an invalid pom in
spring-kafka-test

Related issue: https://github.com/spring-projects/spring-kafka/pull/2342
2022-07-13 04:29:21 +02:00
Mahmoud Ben Hassine
7c900a9315 Add junit-jupiter-api dependency to spring-batch-infrastructure 2022-07-13 04:21:04 +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
b3fe088879 Add spring-javaformat-maven-plugin to the build process
Issue #4118
2022-05-25 23:06:13 +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
Mahmoud Ben Hassine
60111c2a7b Update Spring dependencies to latest snapshots 2022-05-19 09:49:33 +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
45ff5279b8 Prepare release 5.0.0-M3 2022-05-19 02:52:29 +02:00
Mahmoud Ben Hassine
cca4f7ba8e Remove ldap-core-tiger dependency in spring-batch-infrastructure
spring-ldap-core-tiger has been removed in spring-ldap 3.0.0-M2,
see https://github.com/spring-projects/spring-ldap/issues/621
2022-05-19 02:36:54 +02: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
Mahmoud Ben Hassine
53eabcdeee Update the "what's new" section for 5.0.0-M3 2022-05-18 20:29:44 +02:00
Mahmoud Ben Hassine
b969f2abc4 Update flatten-maven-plugin to resolve dependencyManagement in pom files
This is required to keep the dependencyManagement section in
the pom of spring-batch-bom and resolve dependency versions.
2022-05-18 12:21:32 +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
e86aebbcd6 Skip maven-site-plugin when building spring-batch-bom module 2022-05-18 10:38:17 +02:00
Mahmoud Ben Hassine
f76f1c9d75 Refine contribution #4078
Update pom.xml to be consistent with other pom files
2022-05-18 10:11:21 +02:00
Daniel Barciela
4dcada91f2 Add maven BOM for Spring Batch modules
Resolves #1097
2022-05-18 09:38:21 +02:00
Mahmoud Ben Hassine
9315a3b438 Make charset configurable in JdbcExecutionContextDao
Issue #795
2022-05-17 21:34:06 +02:00
Mahmoud Ben Hassine
df8dac19df Change default encoding to UTF-8 in file-based readers and writers
This commit overrides the fix in #3910 by using UTF-8
as default encoding in file-based item readers and writers.

Issue #1154
2022-05-17 20:07:03 +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