これはインターフェースの非互換性です。 javax.sql.DataSource
メソッド
を定義します
default ConnectionBuilder createConnectionBuilder() throws SQLException
また、コントラクトに従って、戻り値はConnectionBuilderタイプである必要があります。
oracle.ucp.jdbc.PoolDataSourceImplのドキュメントを見ると、メソッドは
として定義されています。public UCPConnectionBuilder createConnectionBuilder()
一方、oracle.ucp.jdbc.UCPConnectionBuilder
java.sql.ConnectionBuilder
のサブタイプではありません 。
これで、Oracleがoracle.ucp.jdbc.UCPConnectionBuilder
の決してバージョンをリリースしない限り java.sql.ConnectionBuilder
を拡張するインターフェース 、UCPPoolDataSourceをjavax.sql.DataSource
と交換することはできません。 。
この時点での最新リリースは、UCP 19.3のようです。 、19.3がJDK11準拠としてアドバタイズされているため、残念ながら同じ問題が発生します。 Oracle UCPに対してバグを発生させて、メンテナにDataSourceインターフェイスの新規エントリcreateConnectionBuilderを認識させてください。
イントリムでは、可能であれば、PoolDataSourceインターフェースにメソッドcreateConnectionBuilderを持たないUCPの11gリリース2(12ではなく19ではない)の使用にフォールバックすることができます。 11gに戻ることでUCPの10年分の改善をあきらめているため、理想的な状況ではありません。