我已将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,以下是我用来获取连接的代码片段
@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(); }
这是我的数据源配置
我有什么遗失的吗?
谢谢!
答案 0 :(得分:0)
我遇到了类似的问题。您需要仔细检查您的配置。检查OSGI,检查代码,了解数据库设置的每个细节。这些是要注意的两件事。然后尝试再次安装软件包/软件包。