【问题标题】:JBOSS 6: [CachedConnectionManager] Closing a connection for you. Please close them yourselfJBOSS 6:[CachedConnectionManager] 为您关闭连接。请自行关闭
【发布时间】:2012-01-05 09:06:57
【问题描述】:

每次事务在 JBOSS 6 中结束时我都会遇到异常。我知道我不会手动关闭连接,但我想通过更改记录器模式来避免它。为了实现这一点,我添加了以下几行

<logger category="org.jboss.resource.connectionmanager.CachedConnectionManager">
      <level name="FATAL"/>
   </logger>

在 jboss-6.1.0_Final/server/default/deploy 下的 jboss-logging.xml 中。 问题是它没有反映在控制台上。根记录器处于 INFO 模式。 确切的堆栈跟踪是

INFO  [CachedConnectionManager] Closing a connection for you.  Please close them yourself: org.jboss.resource.adapter.jdbc.jdk6.WrappedConnectionJDK6@d0249e: java.lang.Throwable: STACKTRACE
    at org.jboss.resource.connectionmanager.CachedConnectionManager.registerConnection(CachedConnectionManager.java:278) [:6.1.0.Final]
    at org.jboss.resource.connectionmanager.BaseConnectionManager2.allocateConnection(BaseConnectionManager2.java:524) [:6.1.0.Final]
    at org.jboss.resource.connectionmanager.BaseConnectionManager2$ConnectionManagerProxy.allocateConnection(BaseConnectionManager2.java:941) [:6.1.0.Final]
    at org.jboss.resource.adapter.jdbc.WrapperDataSource.getConnection(WrapperDataSource.java:89) [:6.1.0.Final]
    at org.hibernate.connection.DatasourceConnectionProvider.getConnection(DatasourceConnectionProvider.java:92) [:3.6.6.Final]
    at org.hibernate.jdbc.ConnectionManager.openConnection(ConnectionManager.java:446) [:3.6.6.Final]
    at org.hibernate.jdbc.ConnectionManager.getConnection(ConnectionManager.java:167) [:3.6.6.Final]
    at org.hibernate.jdbc.BorrowedConnectionProxy.invoke(BorrowedConnectionProxy.java:74) [:3.6.6.Final]

如果有人能告诉我有关 jboss-logging.xml 的文档,我将不胜感激。我们从 Jobss 4 迁移过来,它在 conf dir 下有 jog4j.xml。这两个文件是否相似?

【问题讨论】:

  • 您在这个问题上有什么好消息吗?我有同样的问题..

标签: jboss jboss6.x


【解决方案1】:

track-statements :此布尔元素指定是否检查 连接返回池时未关闭的语句。如果 true,为每个未关闭的语句发出警告消息。如果 log4j 类别 org.jboss.resource.adapter.jdbc.WrappedConnection 启用了跟踪级别,连接关闭调用的堆栈跟踪是 也登录了。这是一个调试功能,可以在 生产。

来源:http://docs.jboss.org/jbossas/docs/Server_Configuration_Guide/beta500/html/ch13s13.html

【讨论】:

    【解决方案2】:

    请在 Jboss 6.1 中按照以下步骤解决此问题, 01:15:19,406 信息 [CachedConnectionManager] 为您关闭连接。请自行关闭它们:org.jboss.resource.adapter.jdbc.WrappedConnection@ef028b

    java.lang.Throwable: STACKTRACE

    在 org.jboss.resource.connectionmanager.CachedConnectionManager.register

    我禁用 JBoss CachedConnectionManager 来修复问题。

    第 1 步: $JBOSS_HOME/server\default\deploy\jbossweb.sar/server.xml

    注释或删除className CachedConnectionValue:

    <!--Valve className="org.jboss.web.tomcat.service.jca.CachedConnectionValve"
    
                    cachedConnectionManagerObjectName="jboss.jca:service=CachedConnectionManager"
    
                    transactionManagerObjectName="jboss:service=TransactionManager" /-->
    

    第二步: server/default/deploy/jbossweb.sar/META-INF/jboss-beans.xml

    评论或删除CachedConnectionManager:

    <!--
    
          <depends>jboss.jca:service=CachedConnectionManager</depends>
    
    -->
    

    第 3 步: $JBOSS_HOME/server/default/conf/standardjboss.xml

    注释或删除所有 CachedConnectionInterceptor 语句:

    <!--
    
        <interceptor>org.jboss.resource.connectionmanager.CachedConnectionInterceptor</interceptor>
    
    -->  
    

    【讨论】:

      【解决方案3】:

      server.log 文件中与Closing a result set you left open! Please close it yourself 相关的消息意味着启用了跟踪语句并且未关闭结果集/语句。此跟踪由数据源上的以下选项启用

      分辨率: 如果你是 EAP 中的mssql-ds.xml

      使用&lt;track-statements&gt;false&lt;/track-statements&gt;

      请参考相同的 https://access.redhat.com/solutions/40841

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2012-02-21
        • 1970-01-01
        • 2019-07-27
        • 2020-11-05
        • 1970-01-01
        • 2014-12-05
        相关资源
        最近更新 更多