Skip to content

Commit 8aa1bec

Browse files
committed
Update "what's new" section for 5.0.0-RC2 release
1 parent 0a048f3 commit 8aa1bec

File tree

1 file changed

+34
-25
lines changed

1 file changed

+34
-25
lines changed

spring-batch-docs/src/main/asciidoc/whatsnew.adoc

Lines changed: 34 additions & 25 deletions
Original file line numberDiff line numberDiff line change
@@ -12,7 +12,7 @@ please refer to the link:$$https://github.com/spring-projects/spring-batch/wiki/
1212
Spring Batch 5.0 has the following major themes:
1313

1414
* Java 17 Requirement
15-
* Dependencies Re-baseline
15+
* Major dependencies upgrade
1616
* Batch infrastructure configuration updates
1717
* Batch testing configuration updates
1818
* Job parameters handling updates
@@ -27,8 +27,8 @@ Spring Batch follows Spring Framework's baselines for both Java version and thir
2727
With Spring Batch 5, the Spring Framework version is being upgraded to Spring Framework 6, which requires Java 17.
2828
As a result, the Java version requirement for Spring Batch is also increasing to Java 17.
2929

30-
[[dependencies-re-baseline]]
31-
=== Dependencies Re-baseline
30+
[[major-dependencies-upgrade]]
31+
=== Major dependencies upgrade
3232

3333
To continue the integration with supported versions of the third party libraries that Spring Batch uses,
3434
Spring Batch 5 is updating the dependencies across the board to the following versions:
@@ -100,13 +100,13 @@ public class MyJobConfiguration {
100100

101101
In this example, `batchDataSource` and `batchTransactionManager` refer to beans in the application context,
102102
and which will be used to configure the job repository and job explorer. There is no need to define a
103-
custom `BatchConfiguer` anymore, which was removed in this release.
103+
custom `BatchConfigurer` anymore, which was removed in this release.
104104

105105
[[new-configuration-class]]
106106
==== New configuration class for infrastructure beans
107107

108108
In this release, a new configuration class named `DefaultBatchConfiguration` can be used as an alternative to
109-
using `@EnableBatchProcessing` for the configuration of infrastrucutre beans. This class provides infrastructure
109+
using `@EnableBatchProcessing` for the configuration of infrastructure beans. This class provides infrastructure
110110
beans with default configuration which can be customized as needed. The following snippet shows a typical usage
111111
of this class:
112112

@@ -146,17 +146,6 @@ class MyJobConfiguration extends DefaultBatchConfiguration {
146146
}
147147
```
148148

149-
[[transaction-support-in-job-explorer-and-job-operator]]
150-
=== Transaction support in JobExplorer and JobOperator
151-
152-
This release introduces transaction support in the `JobExplorer` created through
153-
the `JobExplorerFactoryBean`. It is now possible to specify which transaction manager
154-
to use to drive the ready-only transactions when querying the Batch meta-data as well as
155-
customizing the transaction attributes.
156-
157-
The same transaction support was added to the `JobOperator` through a new factory bean
158-
named `JobOperatorFactoryBean`.
159-
160149
[[job-parameters-handling-updates]]
161150
=== Job parameters handling updates
162151

@@ -180,7 +169,7 @@ The default notation of job parameters in v4 was specified as follows:
180169
```
181170

182171
where `parameterType` is one of `[string,long,double,date]`. This notation is limited, constraining,
183-
does not play well with environment variables and is not fiendly with Spring Boot.
172+
does not play well with environment variables and is not friendly with Spring Boot.
184173

185174
In v5, there are two way to specify job parameters:
186175

@@ -247,7 +236,7 @@ Up to version 4.3, the `JobLauncherTestUtils` and `JobRepositoryTestUtils` used
247236
to autowire the job under test as well as the test datasource to facilitate the
248237
testing infrastructure setup. While this was convenient for most use cases, it
249238
turned out to cause several issues for test contexts where multiple jobs or
250-
multiple datasources are defined.
239+
multiple data sources are defined.
251240

252241
In this release, we introduced a few changes to remove the autowiring of such
253242
dependencies in order to avoid any issues while importing those utilities either
@@ -256,12 +245,23 @@ manually or through the `@SpringBatchTest` annotation.
256245
[[migration-to-junit-jupiter]]
257246
==== Migration to JUnit Jupiter
258247

259-
In this relese, the entire test suite of Spring Batch has been migrated to JUnit 5.
248+
In this release, the entire test suite of Spring Batch has been migrated to JUnit 5.
260249
While this does not impact end users directly, it helps the Batch team as well as
261250
community contributors to use the next generation of JUnit to write better tests.
262251

263252
=== New features
264253

254+
[[transaction-support-in-job-explorer-and-job-operator]]
255+
=== Transaction support in JobExplorer and JobOperator
256+
257+
This release introduces transaction support in the `JobExplorer` created through
258+
the `JobExplorerFactoryBean`. It is now possible to specify which transaction manager
259+
to use to drive the ready-only transactions when querying the Batch meta-data as well as
260+
customizing the transaction attributes.
261+
262+
The same transaction support was added to the `JobOperator` through a new factory bean
263+
named `JobOperatorFactoryBean`.
264+
265265
==== Improved Java records support
266266

267267
The support for Java records as items in a chunk-oriented step has initially been introduced in v4.3,
@@ -277,9 +277,12 @@ classes). The goal here is to make the configuration of the required `FieldSetMa
277277

278278
==== Batch tracing with Micrometer
279279

280-
With the upgrade to Micrometer 1.10, you can now get batch tracing in addition to batch metrics.
280+
With the upgrade to Micrometer 1.10, you can now get Batch tracing in addition to Batch metrics.
281281
Spring Batch will create a span for each job and a span for each step within a job. This tracing
282-
meta-data can be collected and viewed on a dahsboard like link:$$https://zipkin.io$$[Zipkin] for example.
282+
meta-data can be collected and viewed on a dashboard like link:$$https://zipkin.io$$[Zipkin] for example.
283+
284+
Moreover, this release introduces new metrics like the currently active step, as well as the job launch count
285+
through the provided `JobLauncher`.
283286

284287
==== Java 8 features updates
285288

@@ -289,10 +292,15 @@ We took the opportunity of this major release to improve the code base with feat
289292
* Add `@FunctionalInterface` where appropriate in public APIs (see link:$$https://github.com/spring-projects/spring-batch/issues/4107$$[issue 4107])
290293
* Add support to use types from the Date and Time APIs as job parameters. (see link:$$https://github.com/spring-projects/spring-batch/issues/1035$$[issue 1035$$])
291294

292-
==== Support for SAP HANA a job repository in Spring Batch
295+
==== Support for SAP HANA a job repository
293296

294297
This release introduces the support of SAP HANA as an additional supported database for the job repository.
295298

299+
==== Full support for MariaDB as a separate product
300+
301+
Up until v4.3, Spring Batch provided support for MariaDB by considering it as MySQL. In this release, MariaDB
302+
is treated as an independent product with its own DDL script and `DataFieldMaxValueIncrementer`.
303+
296304
==== New Maven Bill Of Materials for Spring Batch modules
297305

298306
This feature has been requested several times and is finally shipped in v5. It is now possible to use the newly
@@ -301,20 +309,21 @@ added Maven BOM to import Spring Batch modules with a consistent version number.
301309
==== UTF-8 by default
302310

303311
Several issues related to characters encoding have been reported over the years in different
304-
areas of the framework, like inconsitent default encoding between file-based item readers
312+
areas of the framework, like inconsistent default encoding between file-based item readers
305313
and writers, serialization/deserialization issues when dealing with multi-byte characters
306314
in the execution context, etc.
307315

308316
In the same spirit as link:$$https://openjdk.java.net/jeps/400$$[JEP 400] and following the
309317
link:$$http://utf8everywhere.org$$[UTF-8 manifesto], this release updates the default encoding
310318
to UTF-8 in all areas of the framework and ensures this default is configurable as needed.
311319

312-
==== Native support
320+
==== Full GraalVM native support
313321

314322
The effort towards providing support to compile Spring Batch applications as native executables
315323
using the GraalVM native-image compiler has started in v4.2 and was shipped as experimental in v4.3.
316324

317-
In this release, the native support has been improved significantly and is now considered out of beta.
325+
In this release, the native support has been improved significantly by providing the necessary runtime
326+
hints to natively compile Spring Batch applications with GraalVM and is now considered out of beta.
318327

319328
==== Execution context Meta-data improvement
320329

0 commit comments

Comments
 (0)