Oracle
 sql >> база данни >  >> RDS >> Oracle

Миграция на Java 11 - createConnectionBuilder() от PoolDataSourceImpl се сблъсква с createConnectionBuilder() от javax.sql.DataSource

Това е несъвместимост на интерфейса. 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 , няма да можете да обменяте UCP PoolDataSource с javax.sql.DataSource .

Последната версия към този момент изглежда е UCP 19.3 , което все още би засегнало същия проблем, което е жалко, тъй като 19.3 се рекламира като съвместим с JDK11. Моля, посочете грешка срещу Oracle UCP, за да уведомите поддържащите за новия участник createConnectionBuilder в интерфейса на DataSource.

В intrim, ако е осъществимо, можете да се върнете към използването на 11g версия 2 на UCP (не 12, не 19), която няма метода createConnectionBuilder в интерфейса на PoolDataSource. Ситуацията не е идеална, тъй като се отказвате от десетилетни подобрения в UCP, като се върнете към 11g.



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Работа със събития в Oracle Cloud Infrastructure, част 1:основи на услугите

  2. Oracle LISTAGG() за множество атрибути?

  3. Вмъкване на няколко записа в oracle

  4. Oracle - Как да създадете потребител само за четене

  5. Oracle:Как мога да внедря естествен ред в SQL заявка?