【问题标题】:jdbc connection error: not associated with a managed connectionjdbc 连接错误:未与托管连接关联
【发布时间】:2013-09-17 11:33:57
【问题描述】:

我的应用程序出现以下异常:

java.sql.SQLException: Connection is not associated with a managed connection.org.jboss.resource.adapter.jdbc.jdk6.WrappedConnectionJDK6@4fe91321

这发生在生产中我无法在开发中解决这个问题,因此我无法解决它。
异常的根源是代码行dbConn.prepareStatement(sql);

根据我在网上找到的信息,造成这种情况的原因可能是:

  1. 通过 jdbc 连接,包装了一个 jboss 连接,但包装器为空。里面原来的jdbc连接已经没有了。

  2. JDBC 连接已关闭,尝试使用关闭连接是我收到此异常的原因。

  3. 事务管理器检测到事务时间过长,然后事务超时。

因此,如果有人可以指出问题所在,因为我无法在我的开发环境中解决此问题。
另外,我可以添加哪些日志来帮助我检测生产中的问题 - 我正在使用 Java、JBoss、Postgre。

我启用了连接关闭监控a,还要补充的是问题不一致

【问题讨论】:

  • 看起来您在使用资源后没有关闭资源,即resultSet.close(); preparedStatement.close(); connection.close();。如果这在您的应用程序中得到了很好的处理,那么一定有第三个代理在干扰这个过程。
  • 正如 user3754761 所说,更改您的 jdbc 驱动程序设置。

标签: java postgresql jdbc jboss


【解决方案1】:

如果您使用的是 EJB,那么您的无状态会话 Bean 池可能不够大。连接找不到关联的线程。

也许你有一个非有状态会话 Bean 的扩展事务,这也许不是一个好主意。

【讨论】:

    【解决方案2】:

    我刚刚解决了这个问题。

    这是我的 jndi 驱动程序与最新的 java 框架不兼容。

    我正在使用 Oracle db 和 ojdbc6,我从 maven 存储库下载了最新的 ojdbc6 并替换了旧的同名 jar 文件。它现在像鸟一样工作。

    【讨论】:

    猜你喜欢
    • 2014-01-12
    • 2011-12-14
    • 1970-01-01
    • 2018-06-22
    • 1970-01-01
    • 2015-06-12
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多