From 97cf38f1db5181e17b675c3b1231de3a076c7969 Mon Sep 17 00:00:00 2001 From: LLEFEVRE Date: Tue, 4 Jun 2024 09:27:47 +0200 Subject: [PATCH] Upgrade Oracle Database version. Upgrade database itself to the latest 23ai version. The JDBC driver to 23.4.0.24.05 The R2DBC driver to 1.2.0 Closes #1804 Original pull request #1805 --- pom.xml | 7 +------ .../jdbc/testing/OracleDataSourceConfiguration.java | 9 +++++---- spring-data-r2dbc/pom.xml | 4 ++-- .../data/r2dbc/testing/OracleTestSupport.java | 13 +++++++------ 4 files changed, 15 insertions(+), 18 deletions(-) diff --git a/pom.xml b/pom.xml index a5658a21..6050cb01 100644 --- a/pom.xml +++ b/pom.xml @@ -38,12 +38,7 @@ 12.2.0.jre11 8.0.32 42.6.0 - - 23.3.0.23.09 + 23.4.0.24.05 4.2.0 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 8f002965..dfc84dd1 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 @@ -28,14 +28,15 @@ import org.testcontainers.oracle.OracleContainer; import org.testcontainers.utility.DockerImageName; /** - * {@link DataSource} setup for Oracle Database XE. Starts a docker container with an Oracle database. + * {@link DataSource} setup for Oracle Database 23ai FREE. Starts a docker container with an Oracle database. * * @see Oracle + * "https://github.com/gvenzl/oci-oracle-free">Oracle * Docker Image * @see Testcontainers Oracle * @author Thomas Lang * @author Jens Schauder + * @author Loïc Lefèvre */ @Configuration(proxyBeanMethods = false) @ConditionalOnDatabase(DatabaseType.ORACLE) @@ -55,7 +56,7 @@ public class OracleDataSourceConfiguration extends DataSourceConfiguration { if (ORACLE_CONTAINER == null) { LOG.info("Oracle starting..."); - DockerImageName dockerImageName = DockerImageName.parse("gvenzl/oracle-free:23.3-slim"); + DockerImageName dockerImageName = DockerImageName.parse("gvenzl/oracle-free:23-slim"); OracleContainer container = new OracleContainer(dockerImageName) // .withStartupTimeoutSeconds(200) // .withReuse(true); @@ -73,7 +74,7 @@ public class OracleDataSourceConfiguration extends DataSourceConfiguration { private void initDb() { - final DriverManagerDataSource dataSource = new DriverManagerDataSource(ORACLE_CONTAINER.getJdbcUrl(), "SYSTEM", + final DriverManagerDataSource dataSource = new DriverManagerDataSource(ORACLE_CONTAINER.getJdbcUrl(), "system", ORACLE_CONTAINER.getPassword()); final JdbcTemplate jdbc = new JdbcTemplate(dataSource); jdbc.execute("GRANT ALL PRIVILEGES TO " + ORACLE_CONTAINER.getUsername()); diff --git a/spring-data-r2dbc/pom.xml b/spring-data-r2dbc/pom.xml index e80014bc..3168f9d4 100644 --- a/spring-data-r2dbc/pom.xml +++ b/spring-data-r2dbc/pom.xml @@ -31,7 +31,7 @@ 1.1.4 1.0.2.RELEASE 1.0.2 - 1.1.1 + 1.2.0 1.0.0.RELEASE 1.0.4 4.1.107.Final @@ -190,7 +190,7 @@ com.oracle.database.jdbc ojdbc11 - 21.5.0.0 + 23.4.0.24.05 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 c9904ed8..18f6af35 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 @@ -36,6 +36,7 @@ import org.testcontainers.oracle.OracleContainer; * * @author Mark Paluch * @author Jens Schauder + * @author Loïc Lefèvre */ public class OracleTestSupport { @@ -113,10 +114,10 @@ public class OracleTestSupport { return ProvidedDatabase.builder() // .hostname("localhost") // .port(1521) // - .database("XEPDB1") // - .username("system") // - .password("oracle") // - .jdbcUrl("jdbc:oracle:thin:system/oracle@localhost:1521:XEPDB1") // + .database("freepdb1") // + .username("test") // + .password("test") // + .jdbcUrl("jdbc:oracle:thin:test/test@localhost:1521/freepdb1") // .build(); } @@ -128,7 +129,7 @@ public class OracleTestSupport { if (testContainerDatabase == null) { try { - OracleContainer container = new OracleContainer("23.3-slim") // + OracleContainer container = new OracleContainer("gvenzl/oracle-free:23-slim") // .withReuse(true) // .withStartupTimeoutSeconds(200); // the default of 60s isn't sufficient container.start(); @@ -167,7 +168,7 @@ public class OracleTestSupport { DriverManagerDataSource dataSource = new DriverManagerDataSource(); - dataSource.setUrl(database.getJdbcUrl().replace(":xe", "/XEPDB1")); + dataSource.setUrl(database.getJdbcUrl().replace(":freepdb1", "/freepdb1")); dataSource.setUsername(database.getUsername()); dataSource.setPassword(database.getPassword());