【问题标题】:CQ DataSourcePool java.lang.IllegalStateException: Pool not openCQ DataSourcePool java.lang.IllegalStateException:池未打开
【发布时间】:2015-03-04 08:51:54
【问题描述】:

我已将 Adob​​e 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


    【解决方案1】:

    我遇到了类似的问题。您需要仔细检查您的配置。签入 OSGI,检查代码中数据库设置的每一个小细节。这是要看的两件事。然后尝试再次安装包/包。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-01-20
      • 1970-01-01
      • 2017-10-23
      • 1970-01-01
      • 2014-10-04
      • 1970-01-01
      相关资源
      最近更新 更多