JBOSS 6:[CachedConnectionManager]为您关闭连接。请自己关闭它们

时间:2011-11-24 06:23:38

标签: jboss jboss6.x

每次事务在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。这两个文件是否相似?

3 个答案:

答案 0 :(得分:5)

  

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

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

答案 1 :(得分:0)

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

java.lang.Throwable:STACKTRACE

at 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" /-->

第2步: 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>

-->  

答案 2 :(得分:0)

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

分辨率: 如果您在 EAP 中mssql-ds.xml

使用<track-statements>false</track-statements>

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