From 3c9af65613e2b2d1d0e7b1e883ff14e01d38000f Mon Sep 17 00:00:00 2001 From: Dependabot Standalone Date: Tue, 2 Jun 2026 10:42:38 -0700 Subject: [PATCH 1/3] Revert "Upgrade to Oracle Database 23.26.2.0.0" This reverts commit f98f06388f21381d01b9e02039f0b89672eab130. See gh-50667 --- platform/spring-boot-dependencies/build.gradle | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index ac109d51a86b..fd7930d79e42 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1791,7 +1791,7 @@ bom { releaseNotes("https://github.com/open-telemetry/opentelemetry-java/releases/tag/v{version}") } } - library("Oracle Database", "23.26.2.0.0") { + library("Oracle Database", "23.26.1.0.0") { alignWith { dependencyManagementDeclaredIn("com.oracle.database.jdbc:ojdbc-bom") } From 5c88b4453d0fba3f69353c6d1fa1b9042b35532b Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Tue, 2 Jun 2026 09:39:08 -0700 Subject: [PATCH 2/3] Upgrade to Oracle Database 23.26.2.0.0 Closes gh-50667 --- .../boot/jdbc/DataSourceBuilderTests.java | 20 ++++++++++++++----- ...OracleUcpDataSourceConfigurationTests.java | 14 ++++++++++--- ...nnectionDetailsBeanPostProcessorTests.java | 15 +++++++++++--- .../spring-boot-dependencies/build.gradle | 2 +- 4 files changed, 39 insertions(+), 12 deletions(-) diff --git a/module/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/DataSourceBuilderTests.java b/module/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/DataSourceBuilderTests.java index 82891618719e..ff8dc53d8775 100644 --- a/module/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/DataSourceBuilderTests.java +++ b/module/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/DataSourceBuilderTests.java @@ -34,9 +34,11 @@ import com.zaxxer.hikari.HikariDataSource; import oracle.jdbc.internal.OpaqueString; import oracle.jdbc.pool.OracleDataSource; +import oracle.ucp.config.PoolPropertiesException; import oracle.ucp.jdbc.PoolDataSource; import oracle.ucp.jdbc.PoolDataSourceImpl; import org.apache.commons.dbcp2.BasicDataSource; +import org.assertj.core.util.introspection.FieldSupport; import org.h2.Driver; import org.h2.jdbcx.JdbcDataSource; import org.jspecify.annotations.Nullable; @@ -383,8 +385,9 @@ void buildWhenDerivedFromOracleDataSourceWithPasswordSetReturnsDataSource() thro .password("secret2") .build(); assertThat(built.getUser()).isEqualTo("test2"); - assertThat(built).extracting("password") - .extracting((opaque) -> ((OpaqueString) opaque).get()) + assertThat(built) + .extracting((target) -> FieldSupport.extraction().fieldValue("password", OpaqueString.class, target)) + .extracting(OpaqueString::get) .isEqualTo("secret2"); assertThat(built.getURL()).isEqualTo("example.com"); } @@ -398,12 +401,19 @@ void buildWhenDerivedFromOracleUcpWithPasswordSetReturnsDataSource() throws SQLE DataSourceBuilder builder = DataSourceBuilder.derivedFrom(dataSource); PoolDataSource built = (PoolDataSource) builder.username("test2").password("secret2").build(); assertThat(built.getUser()).isEqualTo("test2"); - assertThat(built).extracting("password") - .extracting((opaque) -> ((oracle.ucp.util.OpaqueString) opaque).get()) - .isEqualTo("secret2"); + assertThat(built).extracting(this::getPassword).isEqualTo("secret2"); assertThat(built.getURL()).isEqualTo("example.com"); } + private String getPassword(PoolDataSource target) { + try { + return ((oracle.ucp.util.OpaqueString) target.getPoolProperties().getPoolProperty("password")).get(); + } + catch (PoolPropertiesException ex) { + throw new IllegalStateException(ex); + } + } + @Test void buildWhenDerivedFromEmbeddedDatabase() { EmbeddedDatabase database = new EmbeddedDatabaseBuilder().setType(EmbeddedDatabaseType.HSQL).build(); diff --git a/module/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/autoconfigure/OracleUcpDataSourceConfigurationTests.java b/module/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/autoconfigure/OracleUcpDataSourceConfigurationTests.java index 384c9dcac082..65e6e1dad5b5 100644 --- a/module/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/autoconfigure/OracleUcpDataSourceConfigurationTests.java +++ b/module/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/autoconfigure/OracleUcpDataSourceConfigurationTests.java @@ -21,6 +21,7 @@ import javax.sql.DataSource; +import oracle.ucp.config.PoolPropertiesException; import oracle.ucp.jdbc.PoolDataSource; import oracle.ucp.jdbc.PoolDataSourceImpl; import oracle.ucp.util.OpaqueString; @@ -123,13 +124,20 @@ void usesCustomJdbcConnectionDetailsWhenDefined() { assertThat(dataSource).isInstanceOf(PoolDataSourceImpl.class); PoolDataSourceImpl oracleUcp = (PoolDataSourceImpl) dataSource; assertThat(oracleUcp.getUser()).isEqualTo("user-1"); - assertThat(oracleUcp).extracting("password") - .extracting((o) -> ((OpaqueString) o).get()) - .isEqualTo("password-1"); + assertThat(oracleUcp).extracting(this::getPassword).isEqualTo("password-1"); assertThat(oracleUcp.getConnectionFactoryClassName()) .isEqualTo(DatabaseDriver.POSTGRESQL.getDriverClassName()); assertThat(oracleUcp.getURL()).isEqualTo("jdbc:customdb://customdb.example.com:12345/database-1"); }); } + private String getPassword(PoolDataSource target) { + try { + return ((OpaqueString) target.getPoolProperties().getPoolProperty("password")).get(); + } + catch (PoolPropertiesException ex) { + throw new IllegalStateException(ex); + } + } + } diff --git a/module/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/autoconfigure/OracleUcpJdbcConnectionDetailsBeanPostProcessorTests.java b/module/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/autoconfigure/OracleUcpJdbcConnectionDetailsBeanPostProcessorTests.java index a3b19c2c9af6..216938ec7b7a 100644 --- a/module/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/autoconfigure/OracleUcpJdbcConnectionDetailsBeanPostProcessorTests.java +++ b/module/spring-boot-jdbc/src/test/java/org/springframework/boot/jdbc/autoconfigure/OracleUcpJdbcConnectionDetailsBeanPostProcessorTests.java @@ -18,6 +18,8 @@ import java.sql.SQLException; +import oracle.ucp.config.PoolPropertiesException; +import oracle.ucp.jdbc.PoolDataSource; import oracle.ucp.jdbc.PoolDataSourceImpl; import oracle.ucp.util.OpaqueString; import org.junit.jupiter.api.Test; @@ -49,11 +51,18 @@ void setUsernamePasswordUrlAndDriverClassName() throws SQLException { new TestJdbcConnectionDetails()); assertThat(dataSource.getURL()).isEqualTo("jdbc:customdb://customdb.example.com:12345/database-1"); assertThat(dataSource.getUser()).isEqualTo("user-1"); - assertThat(dataSource).extracting("password") - .extracting((password) -> ((OpaqueString) password).get()) - .isEqualTo("password-1"); + assertThat(dataSource).extracting(this::getPassword).isEqualTo("password-1"); assertThat(dataSource.getConnectionFactoryClassName()) .isEqualTo(DatabaseDriver.POSTGRESQL.getDriverClassName()); } + private String getPassword(PoolDataSource target) { + try { + return ((OpaqueString) target.getPoolProperties().getPoolProperty("password")).get(); + } + catch (PoolPropertiesException ex) { + throw new IllegalStateException(ex); + } + } + } diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index fd7930d79e42..ac109d51a86b 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1791,7 +1791,7 @@ bom { releaseNotes("https://github.com/open-telemetry/opentelemetry-java/releases/tag/v{version}") } } - library("Oracle Database", "23.26.1.0.0") { + library("Oracle Database", "23.26.2.0.0") { alignWith { dependencyManagementDeclaredIn("com.oracle.database.jdbc:ojdbc-bom") } From 1d5dc3e3c81216d2bf011d76ae10a5887728c116 Mon Sep 17 00:00:00 2001 From: Phillip Webb Date: Tue, 2 Jun 2026 16:14:22 -0700 Subject: [PATCH 3/3] Remove Jetty upgrade restriction --- platform/spring-boot-dependencies/build.gradle | 4 ---- 1 file changed, 4 deletions(-) diff --git a/platform/spring-boot-dependencies/build.gradle b/platform/spring-boot-dependencies/build.gradle index ac109d51a86b..003b41d17a5c 100644 --- a/platform/spring-boot-dependencies/build.gradle +++ b/platform/spring-boot-dependencies/build.gradle @@ -1120,10 +1120,6 @@ bom { contains ".alpha" because "we don't want alpha dependencies" } - prohibit { - versionRange "[12.1.9]" - because "it contains a regression (https://github.com/jetty/jetty.project/issues/15021)" - } group("org.eclipse.jetty.ee11") { bom("jetty-ee11-bom") }