Isso é incompatibilidade de interface.
javax.sql.DataSource
define um método
default ConnectionBuilder createConnectionBuilder() throws SQLException
E de acordo com o contrato, o valor de retorno deve ser do tipo ConnectionBuilder.
Se você der uma olhada na documentação do oracle.ucp.jdbc.PoolDataSourceImpl, ele define o método como
public UCPConnectionBuilder createConnectionBuilder()
enquanto
oracle.ucp.jdbc.UCPConnectionBuilder
não é um subtipo de java.sql.ConnectionBuilder
. Agora, a menos que a Oracle lance uma versão never do
oracle.ucp.jdbc.UCPConnectionBuilder
interface que estende java.sql.ConnectionBuilder
, você não poderá trocar UCP PoolDataSource com javax.sql.DataSource
. A versão mais recente neste momento parece ser UCP 19.3 , o que ainda causaria o mesmo problema, o que é lamentável, pois o 19.3 é anunciado como compatível com JDK11. Por favor, levante um bug contra o Oracle UCP para conscientizar os mantenedores do novo participante createConnectionBuilder na interface DataSource.
No intrim, se for viável, você pode voltar a usar 11g release 2 do UCP (não 12, não 19) que não possui o método createConnectionBuilder na interface PoolDataSource. Não é uma situação ideal, já que você está desistindo de uma década de melhorias no UCP voltando para 11g.