Mahmoud Ben Hassine
0a048f31c3
Fix typo in exception message
2022-11-09 10:18:35 +01: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
Mahmoud Ben Hassine
621ec92586
Add Micrometer counter for job launches
...
Resolves #4226
2022-11-08 12:28:43 +01:00
Mahmoud Ben Hassine
d444a8abaf
Make the MeterRegistry used by Micrometer configurable
...
Resolves #4224
2022-11-08 08:33:28 +01:00
Mahmoud Ben Hassine
d889f84735
Remove the static configuration of Micrometer's observation registry
...
Resolves #4222
2022-11-08 07:48:45 +01:00
Mahmoud Ben Hassine
051e0220fc
Add native resource hint for MariaDB DDL script
...
Related to #3891
2022-11-04 13:24:47 +01:00
Mahmoud Ben Hassine
bc92c4a1da
Add native reflection hints for Job/Step contexts
2022-11-04 11:21:37 +01:00
Mahmoud Ben Hassine
5da133ac36
Make ObservationRegistry non final in BatchMetrics
...
This makes it possible to assign a pre-configured
ObservationRegistry (by Spring Boot for instance)
in BatchMetrics
2022-10-25 17:43:32 +02:00
Mahmoud Ben Hassine
eda046414f
Fix typo in method name in DefaultBatchConfiguration
2022-10-25 16:45:50 +02:00
Mahmoud Ben Hassine
524e9564c0
Add full support for MariaDB
...
This commit adds full support for MariaDB as
a job repository and removes the code that
treats it as MySQL.
Resolves #3891
Resolves #4217
2022-10-25 11:11:57 +02: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
Henning Poettker
15ef22284a
Update MySQL Connector/J and use new Maven coordinates
2022-10-19 17:16:20 +02:00
Mahmoud Ben Hassine
0b694117eb
Add Spring Batch version in the execution context
...
Resolves #4215
2022-10-19 16:48:08 +02:00
Mahmoud Ben Hassine
de567e8c6f
Fix JavaBean setter collision
...
This commit changes the name of the overloaded
setter for isolationLevelForCreate to remove
ambiguity in setter selection by Spring Framework.
Resolves #4213
2022-10-18 11:46:02 +02:00
Mahmoud Ben Hassine
05f6d136c6
Fix link to spring-batch.xsd in spring.schemas
2022-10-18 11:18:09 +02: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
1ff04d532d
Deprecate throttle limit in TaskExecutorRepeatTemplate
...
Resolves #2218
2022-10-12 18:57:18 +02:00
Mahmoud Ben Hassine
f185fd1598
Deprecate JobRegistryBackgroundJobRunner
2022-10-12 18:49:31 +02:00
Mahmoud Ben Hassine
26c39cbbae
Refine contribution #3967
...
Related to #752
2022-10-12 17:23:58 +02:00
Philippe Truche
746c919372
Support command as array of strings
...
setCommand now supports passing in an array of strings. When a single
string is supplied, it is tokenized by the Runtime#exec method. When an
array of strings is supplied, the array is supplied as is to the
Runtime#exec method in which case no tokenization takes place.
Resolves #752
2022-10-12 16:36:30 +02:00
Mahmoud Ben Hassine
4eefb1d287
Refine contribution #3972
...
Related to #3955
2022-10-12 15:37:45 +02:00
Stefano Cordio
eccea800fb
Add CommandRunner and JvmCommandRunner in SystemCommandTasklet
...
This improves the testability of `SystemCommandTasklet` when the
target command is not available during test execution.
Resolves #3955
2022-10-12 14:56:07 +02:00
Mahmoud Ben Hassine
6fbbeb8e5b
Fix timestamp precision in schema-derby.sql
...
Related to 81728c00ed
2022-10-12 08:38:27 +02:00
Mahmoud Ben Hassine
d66372a0fb
Fix timestamp precision in schema-hsqldb-extended.sql
...
Related to 81728c00ed
2022-10-12 08:06:13 +02:00
Mahmoud Ben Hassine
81728c00ed
Increase the value of fractional seconds precision in timestamp columns
...
This commit increases the value of fractional seconds precision to 9
for database providers that support a value higher than 6 (which is the
default value for most database providers).
The reason for this change is that a `java.time.LocalDateTime` has a
FSP of 9, and a round trip to the database as a `java.sql.Timestamp`
results in data loss at the FSP level.
Here is an example in JdbcStepExecutionDaoTests#testSaveAndGetExecution:
```
assertStepExecutionsAreEqual:318
expected: <2022-10-12T03:42:01.305896170>
but was: <2022-10-12T03:42:01.305896>
```
Some DB providers like MySQL [1], Postgresql [2], SAP HANA [3],
SQLServer [4] and SyBase [5] do not support FSP up to 9.
[1]: https://dev.mysql.com/doc/refman/8.0/en/datetime.html
[2]: https://www.postgresql.org/docs/current/datatype-datetime.html
[3]: https://help.sap.com/docs/SAP_HANA_PLATFORM/4fe29514fd584807ac9f2a04f6754767/3f81ccc7e35d44cbbc595c7d552c202a.html?version=2.0.02&locale=en-US
[4]: https://learn.microsoft.com/en-us/sql/t-sql/data-types/datetime-transact-sql?view=sql-server-ver16
[5]: https://infocenter.sybase.com/help/index.jsp?topic=/com.sybase.infocenter.dc38151.1510/html/iqrefbb/iqrefbb587.htm
2022-10-12 07:14:05 +02:00
Mahmoud Ben Hassine
5c92623785
Fix Timestamp to LocalDateTime conversion in Job/Step execution DAOs
...
Persisting a LocalDateTime as a Timestamp with `Timestamp.valueOf(LocalDateTime)`
and retrieving it with `ResultSet#getObject(index, LocalDateTime.class)` seems
to result in a data loss at the millisecond fraction level.
This commit changes the usage of `ResultSet#getObject(index, LocalDateTime.class)`
to `ResultSet#getTimestamp(index).toLocalDateTime()`.
A round trip to the database with `Timestamp.valueOf(LocalDateTime)` and
`Timestamp.toLocalDateTime()` should not result in a data loss.
2022-10-12 06:46:05 +02:00
Mahmoud Ben Hassine
1a65c00b8d
Change type of timestamp fields in JobExecution/StepExecution to LocalDateTime
...
This commit changes the type of fields `startTime`, `endTime`,
`createTime` and `lastUpdated` in `JobExecution` and `StepExecution`
from `java.util.Date` to `java.time.LocalDateTime`.
Resolves #1014
2022-10-11 22:09:16 +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
Mahmoud Ben Hassine
c65e0f27d4
Change DefaultExecutionContextSerializer to produce Base64 content
...
Resolves #4122
Related to #3983
2022-10-10 10:20:13 +02:00
Mahmoud Ben Hassine
e21f56cad8
Remove version suffix from XSD schema
...
This is to be consistent with other XSDs from the portfolio
where the file of latest XSD is not suffixed with a version.
2022-10-09 18:01:34 +02:00
Mahmoud Ben Hassine
577638a1c1
Initialize jobParametersConverter in JobOperatorFactoryBean
2022-10-09 17:56:16 +02:00
Mahmoud Ben Hassine
6d73a1ceab
ReApply "Adapt observability code to latest changes in Micrometer"
...
This reverts commit a774fac1b3 .
2022-10-05 07:10:34 +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
Henning Poettker
a3c692d5fa
Upgrade Derby to version 10.16.1.1
2022-10-04 23:20:59 +02:00
Mahmoud Ben Hassine
6ca1657d1b
Add support for Java 8 Date/Time APIs as job parameters
...
The support to use any type as a job parameter was added
in #3960 .
This commit introduces convenience methods where appropriate
to use Java 8 Date/Time APIs as job parameters.
Resolves #1035
2022-10-04 22:38:28 +02:00
Mahmoud Ben Hassine
fd9dca3504
Fix column names in BATCH_JOB_EXECUTION_PARAMS
...
For some DB providers, columns cannot be named "VALUE".
This commit adds a prefix where appropriate to the columns
of `BATCH_JOB_EXECUTION_PARAMS`.
Related to:
* https://github.com/spring-projects/spring-batch/issues/3960
2022-10-04 22:13:40 +02: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
027302469a
Fix native hints for JDK proxies generation
2022-10-04 11:07:33 +02:00
Mahmoud Ben Hassine
a774fac1b3
Revert "Adapt observability code to latest changes in Micrometer"
...
This reverts commit 8973c8a5b6 .
2022-10-03 17:59:58 +02:00
Mahmoud Ben Hassine
bdd2cd4b25
Update core native hints
...
This commit adds a:
* JDK proxy hint for JobExplorer
* Reflection hint for fields of java.sql.Types
2022-10-01 12:08:40 +02:00
Glenn Renfro
8973c8a5b6
Adapt observability code to latest changes in Micrometer
2022-10-01 11:02:25 +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
219fee3bad
Update documentation
2022-09-21 19:51:08 +02:00
Mahmoud Ben Hassine
1141975470
Add isolationLevelForCreate attribute in EnableBatchProcessing
...
Related to #3942
2022-09-21 19:08:55 +02:00
Mahmoud Ben Hassine
e33659cae5
Add support to customize transaction attributes in infrastructure beans
...
Before this commit, the transaction attributes were hardcoded and not
configurable in the proxy created by Job explorer/repository/operator
factory beans.
This commit adds the possibility to customize the transaction attributes
in addition to the transaction manager. It is now possible to configure
the transaction's isolation level as well as its propagation for each
method if needed.
Resolves #4195
2022-09-21 10:20:57 +02:00
Mahmoud Ben Hassine
6ad3596401
Add support for transaction customization in SimpleJobOperator
...
This commit adds support to configure and create a transactional
proxy around SimpleJobOperator through a factory bean.
The usage of `@Transactional` was removed in favor of
the programmatic way of customizing the proxy through
the factory bean.
Resolves #1078
2022-09-21 04:34:34 +02:00