【发布时间】:2015-03-04 08:51:54
【问题描述】:
我已将 Adobe CQ 配置为使用连接池来处理与 MySql 数据库的连接。一切正常,但几个小时后,我在尝试连接数据库时看到了这个异常。
Caused by: java.lang.IllegalStateException: Pool not open
at org.apache.commons.pool.BaseObjectPool.assertOpen(BaseObjectPool.java:99)
at org.apache.commons.pool.impl.GenericObjectPool.borrowObject(GenericObjectPool.java:917)
at org.apache.commons.dbcp.PoolingDataSource.getConnection(PoolingDataSource.java:96)
我已经看到在多个实例/应用程序中报告了此类错误。我想知道这在 CQ 上的工作方式是否有问题。
我使用的是 CQ5.6.1,下面是我用来获取连接的代码 sn-p
@Reference
private DataSourcePool dataSourceService;
DataSource ds;
Connection connection;
try{
ds = (DataSource) dataSourceService.getDataSource("datasource_name);
connection = ds.getConnection();//this line causes the exception
catch(Exception e){
e.printStackTrace();
}finally{ connection.close(); }
这是我的数据源配置
我有什么遗漏的吗?
谢谢!
【问题讨论】:
标签: osgi aem apache-commons-dbcp