Datanucleus - DBCP2 集成警告 - PoolableConnectionFactory 未链接到池
Datanucleus - DBCP2 integration warning - PoolableConnectionFactory not linked to pool
我想升级 GWT-JDO 应用程序以使用 DBCP2 而不是 DBCP。配置部分运行良好,但我在控制台中看到警告
WARN [org.apache.commons.dbcp2.PoolingDataSource] PoolableConnectionFactory not linked to pool. Calling setPool() to fix the configuration.
PersistenceManagerFactory 是使用 JDOHelper 构建的,因此我无法访问 DBCP2 对象来设置池。我们正在使用
JDOHelper.getPersistenceManagerFactory(properties)
我在 JDO 中进行了一些调试 类,我发现即使发出警告,池实际上也设置为连接工厂。
请从 org.apache.commons.dbcp2.PoolingDataSource
中找到下面的代码
// Verify that _pool's factory refers back to it. If not, log a warning and try to fix.
if (pcf.getPool() != _pool) {
log.warn(Utils.getMessage("poolingDataSource.factoryConfig"));
@SuppressWarnings("unchecked") // PCF must have a pool of PCs
ObjectPool<PoolableConnection> p = (ObjectPool<PoolableConnection>) _pool;
pcf.setPool(p);
}
有人知道使用 JDOHelper 正确处理 JDO-Datanucleus-DBCP2 配置的方法吗?
似乎有些奇怪的 DBCP2 事情它应该自己做,但由于某种原因不是。在 DataNucleus DBCP2 connector code 他们有
connectionPool = new org.apache.commons.pool2.impl.GenericObjectPool(poolableCF);
我个人希望这足以让 DBCP2 知道池 DBCP2 库 returns 链接到 poolableCF
(即传入的内容),但它给出了此日志消息如果你只是那样做。如果添加以下行
poolableCF.setPool(connectionPool);
在他们的代码中,您不会立即收到该日志消息。也许您想将其贡献给 DataNucleus 项目?
我想升级 GWT-JDO 应用程序以使用 DBCP2 而不是 DBCP。配置部分运行良好,但我在控制台中看到警告
WARN [org.apache.commons.dbcp2.PoolingDataSource] PoolableConnectionFactory not linked to pool. Calling setPool() to fix the configuration.
PersistenceManagerFactory 是使用 JDOHelper 构建的,因此我无法访问 DBCP2 对象来设置池。我们正在使用
JDOHelper.getPersistenceManagerFactory(properties)
我在 JDO 中进行了一些调试 类,我发现即使发出警告,池实际上也设置为连接工厂。 请从 org.apache.commons.dbcp2.PoolingDataSource
中找到下面的代码// Verify that _pool's factory refers back to it. If not, log a warning and try to fix.
if (pcf.getPool() != _pool) {
log.warn(Utils.getMessage("poolingDataSource.factoryConfig"));
@SuppressWarnings("unchecked") // PCF must have a pool of PCs
ObjectPool<PoolableConnection> p = (ObjectPool<PoolableConnection>) _pool;
pcf.setPool(p);
}
有人知道使用 JDOHelper 正确处理 JDO-Datanucleus-DBCP2 配置的方法吗?
似乎有些奇怪的 DBCP2 事情它应该自己做,但由于某种原因不是。在 DataNucleus DBCP2 connector code 他们有
connectionPool = new org.apache.commons.pool2.impl.GenericObjectPool(poolableCF);
我个人希望这足以让 DBCP2 知道池 DBCP2 库 returns 链接到 poolableCF
(即传入的内容),但它给出了此日志消息如果你只是那样做。如果添加以下行
poolableCF.setPool(connectionPool);
在他们的代码中,您不会立即收到该日志消息。也许您想将其贡献给 DataNucleus 项目?