diff --git a/spring-batch-core/pom.xml b/spring-batch-core/pom.xml
index f138264af..fd058a235 100644
--- a/spring-batch-core/pom.xml
+++ b/spring-batch-core/pom.xml
@@ -50,11 +50,6 @@
spring-jdbc
${spring-framework.version}
-
- com.fasterxml.jackson.core
- jackson-databind
- ${jackson.version}
-
io.micrometer
micrometer-core
@@ -67,6 +62,12 @@
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+ true
+
jakarta.annotation
jakarta.annotation-api
diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/DefaultBatchConfiguration.java b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/DefaultBatchConfiguration.java
index eec1e6ee1..cc62922a6 100644
--- a/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/DefaultBatchConfiguration.java
+++ b/spring-batch-core/src/main/java/org/springframework/batch/core/configuration/support/DefaultBatchConfiguration.java
@@ -33,7 +33,7 @@ import org.springframework.batch.core.launch.support.TaskExecutorJobLauncher;
import org.springframework.batch.core.repository.ExecutionContextSerializer;
import org.springframework.batch.core.repository.JobRepository;
import org.springframework.batch.core.repository.dao.AbstractJdbcBatchMetadataDao;
-import org.springframework.batch.core.repository.dao.Jackson2ExecutionContextStringSerializer;
+import org.springframework.batch.core.repository.dao.DefaultExecutionContextSerializer;
import org.springframework.batch.core.repository.dao.JdbcExecutionContextDao;
import org.springframework.batch.core.repository.dao.JdbcJobExecutionDao;
import org.springframework.batch.core.repository.dao.JdbcStepExecutionDao;
@@ -299,11 +299,11 @@ public class DefaultBatchConfiguration implements ApplicationContextAware {
/**
* A custom implementation of the {@link ExecutionContextSerializer}. The default, if
- * not injected, is the {@link Jackson2ExecutionContextStringSerializer}.
+ * not injected, is the {@link DefaultExecutionContextSerializer}.
* @return the serializer to use to serialize/deserialize the execution context
*/
protected ExecutionContextSerializer getExecutionContextSerializer() {
- return new Jackson2ExecutionContextStringSerializer();
+ return new DefaultExecutionContextSerializer();
}
/**
diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/explore/support/JobExplorerFactoryBean.java b/spring-batch-core/src/main/java/org/springframework/batch/core/explore/support/JobExplorerFactoryBean.java
index 77df5e56d..fe3c5b9f9 100644
--- a/spring-batch-core/src/main/java/org/springframework/batch/core/explore/support/JobExplorerFactoryBean.java
+++ b/spring-batch-core/src/main/java/org/springframework/batch/core/explore/support/JobExplorerFactoryBean.java
@@ -24,8 +24,8 @@ import javax.sql.DataSource;
import org.springframework.batch.core.explore.JobExplorer;
import org.springframework.batch.core.repository.ExecutionContextSerializer;
import org.springframework.batch.core.repository.dao.AbstractJdbcBatchMetadataDao;
+import org.springframework.batch.core.repository.dao.DefaultExecutionContextSerializer;
import org.springframework.batch.core.repository.dao.ExecutionContextDao;
-import org.springframework.batch.core.repository.dao.Jackson2ExecutionContextStringSerializer;
import org.springframework.batch.core.repository.dao.JdbcExecutionContextDao;
import org.springframework.batch.core.repository.dao.JdbcJobExecutionDao;
import org.springframework.batch.core.repository.dao.JdbcJobInstanceDao;
@@ -80,7 +80,7 @@ public class JobExplorerFactoryBean extends AbstractJobExplorerFactoryBean imple
/**
* A custom implementation of {@link ExecutionContextSerializer}. The default, if not
- * injected, is the {@link Jackson2ExecutionContextStringSerializer}.
+ * injected, is the {@link DefaultExecutionContextSerializer}.
* @param serializer The serializer used to serialize or deserialize an
* {@link org.springframework.batch.item.ExecutionContext}.
* @see ExecutionContextSerializer
@@ -160,7 +160,7 @@ public class JobExplorerFactoryBean extends AbstractJobExplorerFactoryBean imple
}
if (serializer == null) {
- serializer = new Jackson2ExecutionContextStringSerializer();
+ serializer = new DefaultExecutionContextSerializer();
}
if (this.conversionService == null) {
diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcExecutionContextDao.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcExecutionContextDao.java
index 3e858e4b0..65888dd51 100644
--- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcExecutionContextDao.java
+++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/dao/JdbcExecutionContextDao.java
@@ -91,7 +91,7 @@ public class JdbcExecutionContextDao extends AbstractJdbcBatchMetadataDao implem
private LobHandler lobHandler = new DefaultLobHandler();
- private ExecutionContextSerializer serializer;
+ private ExecutionContextSerializer serializer = new DefaultExecutionContextSerializer();
/**
* Setter for {@link Serializer} implementation
diff --git a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/JobRepositoryFactoryBean.java b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/JobRepositoryFactoryBean.java
index 8ef3d3789..9e2545357 100644
--- a/spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/JobRepositoryFactoryBean.java
+++ b/spring-batch-core/src/main/java/org/springframework/batch/core/repository/support/JobRepositoryFactoryBean.java
@@ -27,8 +27,8 @@ import org.apache.commons.logging.LogFactory;
import org.springframework.batch.core.repository.ExecutionContextSerializer;
import org.springframework.batch.core.repository.dao.AbstractJdbcBatchMetadataDao;
+import org.springframework.batch.core.repository.dao.DefaultExecutionContextSerializer;
import org.springframework.batch.core.repository.dao.ExecutionContextDao;
-import org.springframework.batch.core.repository.dao.Jackson2ExecutionContextStringSerializer;
import org.springframework.batch.core.repository.dao.JdbcExecutionContextDao;
import org.springframework.batch.core.repository.dao.JdbcJobExecutionDao;
import org.springframework.batch.core.repository.dao.JdbcJobInstanceDao;
@@ -100,7 +100,7 @@ public class JobRepositoryFactoryBean extends AbstractJobRepositoryFactoryBean i
/**
* A custom implementation of the {@link ExecutionContextSerializer}. The default, if
- * not injected, is the {@link Jackson2ExecutionContextStringSerializer}.
+ * not injected, is the {@link DefaultExecutionContextSerializer}.
* @param serializer used to serialize/deserialize
* {@link org.springframework.batch.item.ExecutionContext}
* @see ExecutionContextSerializer
@@ -221,7 +221,7 @@ public class JobRepositoryFactoryBean extends AbstractJobRepositoryFactoryBean i
}
if (serializer == null) {
- Jackson2ExecutionContextStringSerializer defaultSerializer = new Jackson2ExecutionContextStringSerializer();
+ DefaultExecutionContextSerializer defaultSerializer = new DefaultExecutionContextSerializer();
serializer = defaultSerializer;
}
diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcExecutionContextDaoTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcExecutionContextDaoTests.java
index 52f1929bd..d43b25012 100644
--- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcExecutionContextDaoTests.java
+++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/dao/JdbcExecutionContextDaoTests.java
@@ -27,14 +27,6 @@ import static org.mockito.Mockito.mock;
@SpringJUnitConfig(locations = { "sql-dao-test.xml" })
class JdbcExecutionContextDaoTests extends AbstractExecutionContextDaoTests {
- @Test
- void testNoSerializer() {
- JdbcExecutionContextDao jdbcExecutionContextDao = new JdbcExecutionContextDao();
- jdbcExecutionContextDao.setJdbcTemplate(mock(JdbcOperations.class));
- Exception exception = assertThrows(IllegalStateException.class, jdbcExecutionContextDao::afterPropertiesSet);
- assertEquals("ExecutionContextSerializer is required", exception.getMessage());
- }
-
@Test
void testNullSerializer() {
JdbcExecutionContextDao jdbcExecutionContextDao = new JdbcExecutionContextDao();
diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/JobRepositoryFactoryBeanTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/JobRepositoryFactoryBeanTests.java
index 5f3477c31..268033750 100644
--- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/JobRepositoryFactoryBeanTests.java
+++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/JobRepositoryFactoryBeanTests.java
@@ -34,7 +34,6 @@ import org.springframework.batch.core.JobParameters;
import org.springframework.batch.core.repository.ExecutionContextSerializer;
import org.springframework.batch.core.repository.JobRepository;
import org.springframework.batch.core.repository.dao.DefaultExecutionContextSerializer;
-import org.springframework.batch.core.repository.dao.Jackson2ExecutionContextStringSerializer;
import org.springframework.batch.item.database.support.DataFieldMaxValueIncrementerFactory;
import org.springframework.core.serializer.Serializer;
import org.springframework.dao.DataAccessException;
@@ -172,7 +171,7 @@ class JobRepositoryFactoryBeanTests {
factory.afterPropertiesSet();
Serializer
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+ true
+
org.hibernate.orm
hibernate-core
diff --git a/spring-batch-integration/pom.xml b/spring-batch-integration/pom.xml
index 13ffe1608..9e17e38f7 100644
--- a/spring-batch-integration/pom.xml
+++ b/spring-batch-integration/pom.xml
@@ -80,6 +80,12 @@
${spring-integration.version}
test
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+ test
+
org.apache.commons
commons-dbcp2
diff --git a/spring-batch-samples/pom.xml b/spring-batch-samples/pom.xml
index c6f8f406a..290ad72b0 100644
--- a/spring-batch-samples/pom.xml
+++ b/spring-batch-samples/pom.xml
@@ -151,6 +151,11 @@
simpleclient_pushgateway
${prometheus_pushgateway.version}
+
+ com.fasterxml.jackson.core
+ jackson-databind
+ ${jackson.version}
+