Skip to content

Commit 033d7e5

Browse files
committed
Update the what's new section for v5
1 parent 17243c1 commit 033d7e5

File tree

1 file changed

+92
-1
lines changed

1 file changed

+92
-1
lines changed

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

Lines changed: 92 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -6,4 +6,95 @@
66

77
== What's New in Spring Batch 5.0
88

9-
TDB
9+
Spring Batch 5.0 release has the following major themes:
10+
11+
* Java 17 Requirement
12+
* Dependencies Re-baseline
13+
* Batch infrastructure configuration updates
14+
* Pruning
15+
16+
=== Java 17 Requirement
17+
18+
Spring Batch follows Spring Framework's baselines for both Java version and third party dependencies.
19+
With Spring Batch 5, the Spring Framework version is being upgraded to Spring Framework 6 which requires Java 17.
20+
As a result, the Java version requirement for Spring Batch is also increasing to Java 17.
21+
22+
=== Dependencies Re-baseline
23+
24+
In order to continue the integration with supported versions of the third party libraries that Spring Batch uses,
25+
Spring Batch 5 is updating the dependencies across the board to the following versions:
26+
27+
* Spring Framework 6
28+
* Spring Integration 6
29+
* Spring Data 3
30+
* Spring AMQP 3
31+
* Spring for Apache Kafka 3
32+
33+
=== Batch infrastructure configuration updates
34+
35+
==== DataSource requirement updates
36+
37+
Historically, Spring Batch provided a Map-based job repository and job explorer implementations to work with
38+
an in-memory job repository. These implementations were deprecated in version 4 and completely removed in version 5.
39+
The recommended replacement is to use the Jdbc-based implementations with an embedded database like H2, HSQL, etc.
40+
41+
In this release, the `@EnableBatchProcessing` annotation will configure a Jdbc-based `JobRepository` which requires a
42+
`DataSource` bean in the application context. The `DataSource` bean could refer to an embedded database to work with
43+
an in-memory job repository.
44+
45+
==== Transaction manager bean exposure
46+
47+
Up until version 4.3, the `@EnableBatchProcessing` annotation exposed a tranasaction manager bean in the application
48+
context. While this was convenient in many cases, the unconditional exposure of a tranasaction manager could
49+
interfere with a user-defined transaction manager. In this release, `@EnableBatchProcessing` does not expose a
50+
transaction manager bean in the application context anymore.
51+
52+
=== Pruning
53+
54+
==== Deprecated APIs removal
55+
56+
The following APIs were deprecated in previous versions and have been removed in this release:
57+
58+
* Class `org.springframework.batch.core.repository.support.MapJobRepositoryFactoryBean`
59+
* Class `org.springframework.batch.core.repository.dao.MapExecutionContextDao`
60+
* Class `org.springframework.batch.core.repository.dao.MapJobExecutionDao`
61+
* Class `org.springframework.batch.core.repository.dao.MapJobInstanceDao`
62+
* Class `org.springframework.batch.core.repository.dao.MapStepExecutionDao`
63+
* Class `org.springframework.batch.core.explore.support.MapJobExplorerFactoryBean`
64+
* Class `org.springframework.batch.core.repository.dao.XStreamExecutionContextStringSerializer`
65+
* Class `org.springframework.batch.core.configuration.support.ClassPathXmlJobRegistry`
66+
* Class `org.springframework.batch.core.configuration.support.ClassPathXmlApplicationContextFactory`
67+
* Class `org.springframework.batch.core.launch.support.ScheduledJobParametersFactory`
68+
* Class `org.springframework.batch.item.data.AbstractNeo4jItemReader`
69+
* Class `org.springframework.batch.item.database.support.ListPreparedStatementSetter`
70+
* Class `org.springframework.batch.integration.chunk.RemoteChunkingMasterStepBuilder`
71+
* Class `org.springframework.batch.integration.chunk.RemoteChunkingMasterStepBuilderFactory`
72+
* Class `org.springframework.batch.integration.partition.RemotePartitioningMasterStepBuilder`
73+
* Class `org.springframework.batch.integration.partition.RemotePartitioningMasterStepBuilderFactory`
74+
* Class `org.springframework.batch.test.AbstractJobTests`
75+
* Class `org.springframework.batch.item.xml.StaxUtils`
76+
* Enum `org.springframework.batch.item.file.transform.Alignment`
77+
* Method `org.springframework.batch.core.JobExecution#stop()`
78+
* Method `org.springframework.batch.core.JobParameters#getDouble(String key, double defaultValue)`
79+
* Method `org.springframework.batch.core.JobParameters#getLong(String key, long defaultValue)`
80+
* Method `org.springframework.batch.core.partition.support.SimpleStepExecutionSplitter(JobRepository jobRepository, Step step, Partitioner partitioner)`
81+
* Method `org.springframework.batch.core.partition.support.SimpleStepExecutionSplitter#getStartable(StepExecution stepExecution, ExecutionContext context)`
82+
* Method `org.springframework.batch.core.repository.support.AbstractJobRepositoryFactoryBean#getJobRepository()`
83+
* Method `org.springframework.batch.item.database.AbstractCursorItemReader#cleanupOnClose()`
84+
* Method `org.springframework.batch.item.database.HibernateItemWriter#doWrite(HibernateOperations hibernateTemplate, List<? extends T> items)`
85+
* Method `org.springframework.batch.item.database.JdbcCursorItemReader#cleanupOnClose()`
86+
* Method `org.springframework.batch.item.database.StoredProcedureItemReader#cleanupOnClose()`
87+
* Method `org.springframework.batch.item.database.builder.HibernatePagingItemReaderBuilder#useSatelessSession(boolean useStatelessSession)`
88+
* Method `org.springframework.batch.item.file.MultiResourceItemReader#getCurrentResource()`
89+
* Method `org.springframework.batch.integration.config.annotation.BatchIntegrationConfiguration#remoteChunkingMasterStepBuilderFactory()`
90+
* Method `org.springframework.batch.integration.config.annotation.BatchIntegrationConfiguration#remotePartitioningMasterStepBuilderFactory()`
91+
* Method `org.springframework.batch.item.util.FileUtils#setUpOutputFile(File file, boolean restarted, boolean overwriteOutputFile)`
92+
93+
==== SQLFire support removal
94+
95+
SqlFire has been announced to be EOL as of November 1st, 2014. The support of SQLFire as a job repository
96+
was deprecated in version 4.3 and removed in version 5.0.
97+
98+
==== JSR-352 implementation removal
99+
100+
Due to a lack of adoption, the implementation of the JSR-352 has been removed in this release.

0 commit comments

Comments
 (0)