Проверка валидации DBCP2 Карафа

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

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 моего приложения?

0 ответов

Другие вопросы по тегам