Проверка валидации DBCP2 Карафа - PullRequest
0 голосов
/ 28 сентября 2018

Я сконфигурировал свой пул соединений следующим образом:

osgi.jdbc.driver.name = wrap_mvn_com.oracle_ojdbc6_12.1.0.2-pool
url = jdbc:oracle:thin:@(DESCRIPTION =(ADDRESS = (PROTOCOL = TCP)(HOST = myhost.it)(PORT = 1521))(LOAD_BALANCE = yes)(failover=on)(enable=broken)(CONNECT_DATA =(SERVER = DEDICATED)(SERVICE_NAME = myservice.it)(failover_mode =(type = select)(method = basic)(retries = 180)(delay = 5))))
databaseName = xxx
user = xxx
password = xxx
dataSourceName = xyz

pool = dbcp2
xa = true

jdbc.pool.maxIdle = 1
jdbc.pool.maxTotal = 1
jdbc.pool.minIdle = 5
jdbc.pool.maxWaitMillis = 10000
jdbc.pool.jmxEnabled = true
jdbc.factory.validationQuery = select 1 from dual
jdbc.factory.fastFailValidation = true

, но, похоже, запрос проверки не дал результатов.

Поэтому, если я введу команду "service: list DataSourceFactory"в консоли Karaf я вижу следующий источник данных:

[org.osgi.service.jdbc.DataSourceFactory]
-----------------------------------------
osgi.jdbc.driver.class = oracle.jdbc.OracleDriver-pool-xa
osgi.jdbc.driver.name = wrap_mvn_com.oracle_ojdbc6_12.1.0.2-pool-xa
osgi.jdbc.driver.version = 0.0.0
pooled = true
service.bundleid = 167
service.id = 202
service.scope = singleton
xa = true
Provided by :
OPS4J Pax JDBC Pooling Support using Commons-DBCP2 (167)
Used by:
OPS4J Pax JDBC Config (165)

, но если я включаю его таким образом

osgi.jdbc.driver.name = wrap_mvn_com.oracle_ojdbc6_12.1.0.2-pool-xa

, я получаю следующую ошибку:

 DbcpXAPooledDataSourceFactory    | 167 - org.ops4j.pax.jdbc.pool.dbcp2 - 0.9.0 | Error creating pooled datasourcenot supported - use a driver adapter org.ops4j.pax.jdbc.<subprotocol>
java.sql.SQLException: not supported - use a driver adapter org.ops4j.pax.jdbc.<subprotocol>

Какую ошибку я допускаю и что следует ожидать, если запрос проверки дает неверный результат?

Нужно ли мне какое-то конкретное свойство в файле persistence.xml моего приложения?

...