Dies ist eine Schnittstelleninkompatibilität. javax.sql.DataSource
definiert eine Methode
default ConnectionBuilder createConnectionBuilder() throws SQLException
Und laut Vertrag muss der Rückgabewert vom Typ ConnectionBuilder.
seinWenn Sie sich die Dokumentation von oracle.ucp.jdbc.PoolDataSourceImpl ansehen, wird die Methode als
definiertpublic UCPConnectionBuilder createConnectionBuilder()
wohingegen oracle.ucp.jdbc.UCPConnectionBuilder
ist kein Untertyp von java.sql.ConnectionBuilder
.
Jetzt, es sei denn, Oracle veröffentlicht eine Never-Version von oracle.ucp.jdbc.UCPConnectionBuilder
Schnittstelle, die java.sql.ConnectionBuilder
erweitert , können Sie UCP PoolDataSource nicht mit javax.sql.DataSource
austauschen .
Die neueste Version zu diesem Zeitpunkt scheint UCP 19.3 zu sein , was immer noch auf das gleiche Problem stoßen würde, was unglücklich ist, da 19.3 als JDK11-kompatibel beworben wird. Bitte melden Sie einen Fehler gegen Oracle UCP, um die Betreuer auf den Neuzugang createConnectionBuilder in der DataSource-Schnittstelle aufmerksam zu machen.
In der Zwischenzeit können Sie, wenn es möglich ist, auf die Verwendung von 11g Release 2 von UCP (nicht 12, nicht 19) zurückgreifen, das nicht über die Methode createConnectionBuilder auf der PoolDataSource-Schnittstelle verfügt. Keine ideale Situation, da Sie ein Jahrzehnt voller Verbesserungen in UCP aufgeben, indem Sie zu 11g zurückkehren.