diff --git a/pom.xml b/pom.xml
index 8f353cc805..94f5e72f1f 100644
--- a/pom.xml
+++ b/pom.xml
@@ -128,7 +128,7 @@
19.26.0.0
11.2.3.jre17
1.3.1
- 1.20.6
+ 1.21.1
1.5.3
4.0.26
15.6
diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/MongoDBIntegrationTestConfiguration.java b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/MongoDBIntegrationTestConfiguration.java
index 46ccea0ee0..d22cd034ef 100644
--- a/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/MongoDBIntegrationTestConfiguration.java
+++ b/spring-batch-core/src/test/java/org/springframework/batch/core/repository/support/MongoDBIntegrationTestConfiguration.java
@@ -41,7 +41,7 @@
@EnableBatchProcessing
class MongoDBIntegrationTestConfiguration {
- private static final DockerImageName MONGODB_IMAGE = DockerImageName.parse("mongo:8.0.1");
+ private static final DockerImageName MONGODB_IMAGE = DockerImageName.parse("mongo:8.0");
@Bean(initMethod = "start")
public MongoDBContainer mongoDBContainer() {
diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/Db2JobRepositoryIntegrationTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/Db2JobRepositoryIntegrationTests.java
index 3cfb86d413..6f6ba608a5 100644
--- a/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/Db2JobRepositoryIntegrationTests.java
+++ b/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/Db2JobRepositoryIntegrationTests.java
@@ -60,7 +60,7 @@
class Db2JobRepositoryIntegrationTests {
// TODO find the best way to externalize and manage image versions
- private static final DockerImageName DB2_IMAGE = DockerImageName.parse("icr.io/db2_community/db2:11.5.9.0");
+ private static final DockerImageName DB2_IMAGE = DockerImageName.parse("icr.io/db2_community/db2:12.1.0.0");
@Container
public static Db2Container db2 = new Db2Container(DB2_IMAGE).acceptLicense();
diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/MariaDBJobRepositoryIntegrationTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/MariaDBJobRepositoryIntegrationTests.java
index b182235fee..b4b2f3b6c5 100644
--- a/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/MariaDBJobRepositoryIntegrationTests.java
+++ b/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/MariaDBJobRepositoryIntegrationTests.java
@@ -58,7 +58,7 @@
class MariaDBJobRepositoryIntegrationTests {
// TODO find the best way to externalize and manage image versions
- private static final DockerImageName MARIADB_IMAGE = DockerImageName.parse("mariadb:10.9.3");
+ private static final DockerImageName MARIADB_IMAGE = DockerImageName.parse("mariadb:11.8");
@Container
public static MariaDBContainer> mariaDBContainer = new MariaDBContainer<>(MARIADB_IMAGE);
diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/MySQLJdbcJobRepositoryIntegrationTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/MySQLJdbcJobRepositoryIntegrationTests.java
index a939075217..a369c21de5 100644
--- a/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/MySQLJdbcJobRepositoryIntegrationTests.java
+++ b/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/MySQLJdbcJobRepositoryIntegrationTests.java
@@ -64,7 +64,7 @@ class MySQLJdbcJobRepositoryIntegrationTests {
// TODO find the best way to externalize and manage image versions
// when implementing https://github.com/spring-projects/spring-batch/issues/3092
- private static final DockerImageName MYSQL_IMAGE = DockerImageName.parse("mysql:8.0.31");
+ private static final DockerImageName MYSQL_IMAGE = DockerImageName.parse("mysql:9.2");
@Container
public static MySQLContainer> mysql = new MySQLContainer<>(MYSQL_IMAGE);
diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/MySQLJobRepositoryIntegrationTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/MySQLJobRepositoryIntegrationTests.java
index a9f9d6b784..0296b739c5 100644
--- a/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/MySQLJobRepositoryIntegrationTests.java
+++ b/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/MySQLJobRepositoryIntegrationTests.java
@@ -58,7 +58,7 @@
class MySQLJobRepositoryIntegrationTests {
// TODO find the best way to externalize and manage image versions
- private static final DockerImageName MYSQL_IMAGE = DockerImageName.parse("mysql:8.0.31");
+ private static final DockerImageName MYSQL_IMAGE = DockerImageName.parse("mysql:9.2");
@Container
public static MySQLContainer> mysql = new MySQLContainer<>(MYSQL_IMAGE);
diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/OracleJobRepositoryIntegrationTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/OracleJobRepositoryIntegrationTests.java
index a663e23276..e5937a2038 100644
--- a/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/OracleJobRepositoryIntegrationTests.java
+++ b/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/OracleJobRepositoryIntegrationTests.java
@@ -52,7 +52,7 @@
/**
* Official Docker images for Oracle are not publicly available. Oracle support is tested
- * semi-manually for the moment: 1. Build a docker image for oracle/database:11.2.0.2-xe:
+ * semi-manually for the moment: 1. Build a docker image for gvenzl/oracle-free:23.7:
* ...
* 2. Run the test `testJobExecution`
@@ -66,7 +66,7 @@
class OracleJobRepositoryIntegrationTests {
// TODO find the best way to externalize and manage image versions
- private static final DockerImageName ORACLE_IMAGE = DockerImageName.parse("oracle/database:11.2.0.2-xe");
+ private static final DockerImageName ORACLE_IMAGE = DockerImageName.parse("gvenzl/oracle-free:23.7");
@Container
public static OracleContainer oracle = new OracleContainer(ORACLE_IMAGE);
diff --git a/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/PostgreSQLJobRepositoryIntegrationTests.java b/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/PostgreSQLJobRepositoryIntegrationTests.java
index 88498bebb9..7697b299f2 100644
--- a/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/PostgreSQLJobRepositoryIntegrationTests.java
+++ b/spring-batch-core/src/test/java/org/springframework/batch/core/test/repository/PostgreSQLJobRepositoryIntegrationTests.java
@@ -58,7 +58,7 @@
class PostgreSQLJobRepositoryIntegrationTests {
// TODO find the best way to externalize and manage image versions
- private static final DockerImageName POSTGRESQL_IMAGE = DockerImageName.parse("postgres:13.3");
+ private static final DockerImageName POSTGRESQL_IMAGE = DockerImageName.parse("postgres:17.5");
@Container
public static PostgreSQLContainer> postgres = new PostgreSQLContainer<>(POSTGRESQL_IMAGE);
diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/Db2PagingQueryProviderIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/Db2PagingQueryProviderIntegrationTests.java
index 3a60d06845..1048e61738 100644
--- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/Db2PagingQueryProviderIntegrationTests.java
+++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/Db2PagingQueryProviderIntegrationTests.java
@@ -42,7 +42,7 @@
class Db2PagingQueryProviderIntegrationTests extends AbstractPagingQueryProviderIntegrationTests {
// TODO find the best way to externalize and manage image versions
- private static final DockerImageName DB2_IMAGE = DockerImageName.parse("icr.io/db2_community/db2:11.5.9.0");
+ private static final DockerImageName DB2_IMAGE = DockerImageName.parse("icr.io/db2_community/db2:12.1.0.0");
@Container
public static Db2Container db2 = new Db2Container(DB2_IMAGE).acceptLicense();
diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/MariaDBPagingQueryProviderIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/MariaDBPagingQueryProviderIntegrationTests.java
index e96aeb1242..8e52b8471e 100644
--- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/MariaDBPagingQueryProviderIntegrationTests.java
+++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/MariaDBPagingQueryProviderIntegrationTests.java
@@ -39,7 +39,7 @@
class MariaDBPagingQueryProviderIntegrationTests extends AbstractPagingQueryProviderIntegrationTests {
// TODO find the best way to externalize and manage image versions
- private static final DockerImageName MARIADB_IMAGE = DockerImageName.parse("mariadb:10.9.3");
+ private static final DockerImageName MARIADB_IMAGE = DockerImageName.parse("mariadb:11.8");
@Container
public static MariaDBContainer> mariaDBContainer = new MariaDBContainer<>(MARIADB_IMAGE);
diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/MySqlPagingQueryProviderIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/MySqlPagingQueryProviderIntegrationTests.java
index 4b1da2044b..844ffed86b 100644
--- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/MySqlPagingQueryProviderIntegrationTests.java
+++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/MySqlPagingQueryProviderIntegrationTests.java
@@ -39,7 +39,7 @@
class MySqlPagingQueryProviderIntegrationTests extends AbstractPagingQueryProviderIntegrationTests {
// TODO find the best way to externalize and manage image versions
- private static final DockerImageName MYSQL_IMAGE = DockerImageName.parse("mysql:8.0.31");
+ private static final DockerImageName MYSQL_IMAGE = DockerImageName.parse("mysql:9.2");
@Container
public static MySQLContainer> mysql = new MySQLContainer<>(MYSQL_IMAGE);
diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/OraclePagingQueryProviderIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/OraclePagingQueryProviderIntegrationTests.java
index 23d767c384..71419167aa 100644
--- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/OraclePagingQueryProviderIntegrationTests.java
+++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/OraclePagingQueryProviderIntegrationTests.java
@@ -33,7 +33,7 @@
/**
* Official Docker images for Oracle are not publicly available. Oracle support is tested
- * semi-manually for the moment: 1. Build a docker image for oracle/database:11.2.0.2-xe:
+ * semi-manually for the moment: 1. Build a docker image for gvenzl/oracle-free:23.7:
* ...
* 2. Run the test `testJobExecution`
@@ -47,7 +47,7 @@
class OraclePagingQueryProviderIntegrationTests extends AbstractPagingQueryProviderIntegrationTests {
// TODO find the best way to externalize and manage image versions
- private static final DockerImageName ORACLE_IMAGE = DockerImageName.parse("oracle/database:11.2.0.2-xe");
+ private static final DockerImageName ORACLE_IMAGE = DockerImageName.parse("gvenzl/oracle-free:23.7");
@Container
public static OracleContainer oracle = new OracleContainer(ORACLE_IMAGE);
diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/PostgresPagingQueryProviderIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/PostgresPagingQueryProviderIntegrationTests.java
index 44798f79fa..a189e0e3b8 100644
--- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/PostgresPagingQueryProviderIntegrationTests.java
+++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/database/support/PostgresPagingQueryProviderIntegrationTests.java
@@ -39,7 +39,7 @@
class PostgresPagingQueryProviderIntegrationTests extends AbstractPagingQueryProviderIntegrationTests {
// TODO find the best way to externalize and manage image versions
- private static final DockerImageName POSTGRESQL_IMAGE = DockerImageName.parse("postgres:13.3");
+ private static final DockerImageName POSTGRESQL_IMAGE = DockerImageName.parse("postgres:17.5");
@Container
public static PostgreSQLContainer> postgres = new PostgreSQLContainer<>(POSTGRESQL_IMAGE);
diff --git a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/kafka/KafkaItemReaderIntegrationTests.java b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/kafka/KafkaItemReaderIntegrationTests.java
index 9c348fa6c2..6c8f43b2f9 100644
--- a/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/kafka/KafkaItemReaderIntegrationTests.java
+++ b/spring-batch-infrastructure/src/test/java/org/springframework/batch/item/kafka/KafkaItemReaderIntegrationTests.java
@@ -64,7 +64,7 @@
@ExtendWith(SpringExtension.class)
class KafkaItemReaderIntegrationTests {
- private static final DockerImageName KAFKA_IMAGE = DockerImageName.parse("apache/kafka:3.9.1");
+ private static final DockerImageName KAFKA_IMAGE = DockerImageName.parse("apache/kafka:4.0.0");
@Container
public static KafkaContainer kafka = new KafkaContainer(KAFKA_IMAGE);
diff --git a/spring-batch-samples/src/test/java/org/springframework/batch/samples/amqp/AmqpJobFunctionalTests.java b/spring-batch-samples/src/test/java/org/springframework/batch/samples/amqp/AmqpJobFunctionalTests.java
index 768ab2b9c8..730ce5575f 100644
--- a/spring-batch-samples/src/test/java/org/springframework/batch/samples/amqp/AmqpJobFunctionalTests.java
+++ b/spring-batch-samples/src/test/java/org/springframework/batch/samples/amqp/AmqpJobFunctionalTests.java
@@ -64,7 +64,7 @@
@Testcontainers(disabledWithoutDocker = true)
class AmqpJobFunctionalTests {
- private static final DockerImageName RABBITMQ_IMAGE = DockerImageName.parse("rabbitmq:3");
+ private static final DockerImageName RABBITMQ_IMAGE = DockerImageName.parse("rabbitmq:4.1");
@Container
public static RabbitMQContainer rabbitmq = new RabbitMQContainer(RABBITMQ_IMAGE);