在使用karaf + Ops4j jdbc + apache DBCP时如何设置validationQuery?

时间:2015-06-01 10:36:04

标签: java jdbc apache-karaf ops4j

我已经按照这里的教程:http://www.liquid-reality.de/display/liquid/2012/01/13/Apache+Karaf+Tutorial+Part+6+-+Database+Access解释了如何使用Ops4J JDBC包装的apache DBCP在Karaf中设置数据源。

您可以使用“pool”属性前缀在底层对象池上设置属性,但我无法看到设置“validationQuery”属性,可能是因为这不是底层池的属性,而是BasicDataSource本身。我需要设置此属性,因为我在开发服务器上遇到连接超时,这有时会破坏我们的夜间集成测试。

可以这样做吗?

1 个答案:

答案 0 :(得分:2)

我找到了一种独立于BasicDataSource设置验证查询的方法。有org.apache.commons.dbcp2.PoolableConnectionFactory.setValidationQuery。

我们在pax jdbc中内部使用PoolableManagedConnectionFactory。目前无法设置此属性,但我添加了一个jira问题来添加此选项:https://ops4j1.jira.com/browse/PAXJDBC-70