From 5b1bc48c8a4dd44f7546964df3ce1fc834f16e25 Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Fri, 17 Nov 2023 08:31:26 +0100 Subject: [PATCH 1/4] oracle-free - Prepare branch --- pom.xml | 2 +- spring-data-jdbc-distribution/pom.xml | 2 +- spring-data-jdbc/pom.xml | 4 ++-- spring-data-r2dbc/pom.xml | 4 ++-- spring-data-relational/pom.xml | 4 ++-- 5 files changed, 8 insertions(+), 8 deletions(-) diff --git a/pom.xml b/pom.xml index 961b4454c9..85e4d49076 100644 --- a/pom.xml +++ b/pom.xml @@ -5,7 +5,7 @@ org.springframework.data spring-data-relational-parent - 3.2.0-SNAPSHOT + 3.2.0-oracle-free-SNAPSHOT pom Spring Data Relational Parent diff --git a/spring-data-jdbc-distribution/pom.xml b/spring-data-jdbc-distribution/pom.xml index 271486f02a..7315769bab 100644 --- a/spring-data-jdbc-distribution/pom.xml +++ b/spring-data-jdbc-distribution/pom.xml @@ -14,7 +14,7 @@ org.springframework.data spring-data-relational-parent - 3.2.0-SNAPSHOT + 3.2.0-oracle-free-SNAPSHOT ../pom.xml diff --git a/spring-data-jdbc/pom.xml b/spring-data-jdbc/pom.xml index 2ac75e7993..c1e471913d 100644 --- a/spring-data-jdbc/pom.xml +++ b/spring-data-jdbc/pom.xml @@ -6,7 +6,7 @@ 4.0.0 spring-data-jdbc - 3.2.0-SNAPSHOT + 3.2.0-oracle-free-SNAPSHOT Spring Data JDBC Spring Data module for JDBC repositories. @@ -15,7 +15,7 @@ org.springframework.data spring-data-relational-parent - 3.2.0-SNAPSHOT + 3.2.0-oracle-free-SNAPSHOT diff --git a/spring-data-r2dbc/pom.xml b/spring-data-r2dbc/pom.xml index d65f06a082..8f1478ca2a 100644 --- a/spring-data-r2dbc/pom.xml +++ b/spring-data-r2dbc/pom.xml @@ -6,7 +6,7 @@ 4.0.0 spring-data-r2dbc - 3.2.0-SNAPSHOT + 3.2.0-oracle-free-SNAPSHOT Spring Data R2DBC Spring Data module for R2DBC @@ -15,7 +15,7 @@ org.springframework.data spring-data-relational-parent - 3.2.0-SNAPSHOT + 3.2.0-oracle-free-SNAPSHOT diff --git a/spring-data-relational/pom.xml b/spring-data-relational/pom.xml index 74f350faa8..72e9dd14dd 100644 --- a/spring-data-relational/pom.xml +++ b/spring-data-relational/pom.xml @@ -6,7 +6,7 @@ 4.0.0 spring-data-relational - 3.2.0-SNAPSHOT + 3.2.0-oracle-free-SNAPSHOT Spring Data Relational Spring Data Relational support @@ -14,7 +14,7 @@ org.springframework.data spring-data-relational-parent - 3.2.0-SNAPSHOT + 3.2.0-oracle-free-SNAPSHOT From 9a35c4d5ac8beb1516f36d7fac649938c4a9e8c4 Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Fri, 17 Nov 2023 08:30:50 +0100 Subject: [PATCH 2/4] Switch to Testcontainers Oracle Free. Also moving to the `faststart` label, hoping it will start less slow. Closes #1665 --- spring-data-jdbc/pom.xml | 2 +- .../data/jdbc/testing/OracleDataSourceConfiguration.java | 6 ++---- spring-data-r2dbc/pom.xml | 2 +- .../data/r2dbc/testing/OracleTestSupport.java | 4 ++-- 4 files changed, 6 insertions(+), 8 deletions(-) diff --git a/spring-data-jdbc/pom.xml b/spring-data-jdbc/pom.xml index c1e471913d..73040160f1 100644 --- a/spring-data-jdbc/pom.xml +++ b/spring-data-jdbc/pom.xml @@ -229,7 +229,7 @@ org.testcontainers - oracle-xe + oracle-free test diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java index b6e7f83713..dd1a9377f5 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java @@ -24,7 +24,7 @@ import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.springframework.jdbc.datasource.init.ResourceDatabasePopulator; -import org.testcontainers.containers.OracleContainer; +import org.testcontainers.oracle.OracleContainer; import org.testcontainers.utility.DockerImageName; /** @@ -55,10 +55,8 @@ protected DataSource createDataSource() { if (ORACLE_CONTAINER == null) { LOG.info("Oracle starting..."); - DockerImageName dockerImageName = DockerImageName.parse("gvenzl/oracle-free:23-slim") - .asCompatibleSubstituteFor("gvenzl/oracle-xe"); + DockerImageName dockerImageName = DockerImageName.parse("gvenzl/oracle-free:23.3-slim-faststart"); OracleContainer container = new OracleContainer(dockerImageName) - .withDatabaseName("freepdb2") .withReuse(true); container.start(); LOG.info("Oracle started"); diff --git a/spring-data-r2dbc/pom.xml b/spring-data-r2dbc/pom.xml index 8f1478ca2a..a708d63470 100644 --- a/spring-data-r2dbc/pom.xml +++ b/spring-data-r2dbc/pom.xml @@ -285,7 +285,7 @@ org.testcontainers - oracle-xe + oracle-free test diff --git a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java index 76598741b8..79cb74f0d8 100644 --- a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java +++ b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java @@ -29,7 +29,7 @@ import org.springframework.jdbc.core.JdbcTemplate; import org.springframework.jdbc.datasource.DriverManagerDataSource; import org.springframework.util.ClassUtils; -import org.testcontainers.containers.OracleContainer; +import org.testcontainers.oracle.OracleContainer; /** * Utility class for testing against Oracle. @@ -128,7 +128,7 @@ private static ExternalDatabase testContainer() { if (testContainerDatabase == null) { try { - OracleContainer container = new OracleContainer("gvenzl/oracle-xe:21.3.0-slim").withReuse(true); + OracleContainer container = new OracleContainer("23.3-slim-faststart").withReuse(true); container.start(); testContainerDatabase = ProvidedDatabase.builder(container) // From 9331def9fae8aada578e9f9c166b5d1ce1935d24 Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Mon, 20 Nov 2023 14:25:03 +0100 Subject: [PATCH 3/4] Increased startup timeout. Also switched back to instead of since this is probably faster in CI --- .../data/jdbc/testing/OracleDataSourceConfiguration.java | 5 +++-- .../data/r2dbc/testing/OracleTestSupport.java | 4 +++- 2 files changed, 6 insertions(+), 3 deletions(-) diff --git a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java index dd1a9377f5..8f1065cc06 100644 --- a/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java +++ b/spring-data-jdbc/src/test/java/org/springframework/data/jdbc/testing/OracleDataSourceConfiguration.java @@ -55,8 +55,9 @@ protected DataSource createDataSource() { if (ORACLE_CONTAINER == null) { LOG.info("Oracle starting..."); - DockerImageName dockerImageName = DockerImageName.parse("gvenzl/oracle-free:23.3-slim-faststart"); - OracleContainer container = new OracleContainer(dockerImageName) + DockerImageName dockerImageName = DockerImageName.parse("gvenzl/oracle-free:23.3-slim"); + OracleContainer container = new OracleContainer(dockerImageName) // + .withStartupTimeoutSeconds(200) // .withReuse(true); container.start(); LOG.info("Oracle started"); diff --git a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java index 79cb74f0d8..c30b590525 100644 --- a/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java +++ b/spring-data-r2dbc/src/test/java/org/springframework/data/r2dbc/testing/OracleTestSupport.java @@ -128,7 +128,9 @@ private static ExternalDatabase testContainer() { if (testContainerDatabase == null) { try { - OracleContainer container = new OracleContainer("23.3-slim-faststart").withReuse(true); + OracleContainer container = new OracleContainer("23.3-slim") // + .withReuse(true) // + .withStartupTimeoutSeconds(200); // the default of 60s isn't sufficient container.start(); testContainerDatabase = ProvidedDatabase.builder(container) // From baaa565155670eb0e131ae78ec649556598b19fc Mon Sep 17 00:00:00 2001 From: Jens Schauder Date: Mon, 20 Nov 2023 14:46:54 +0100 Subject: [PATCH 4/4] update to ojdbc11. This brings JDBC and R2DBC in sync again. --- spring-data-jdbc/pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/spring-data-jdbc/pom.xml b/spring-data-jdbc/pom.xml index 73040160f1..d3999919a1 100644 --- a/spring-data-jdbc/pom.xml +++ b/spring-data-jdbc/pom.xml @@ -148,7 +148,7 @@ com.oracle.database.jdbc - ojdbc8 + ojdbc11 ${oracle.version} test