我在JBoss服务器上遇到问题。在这个服务器中,有超过10个应用程序正在运行,JBoss会抛出异常或警告。
我怎么能分叉哪个应用程序(战争)抛出错误或警告。是否可以动态显示战争名称以及警告/错误。
以下是我感到困惑的错误,哪个应用程序会抛出这些错误。
11:11:19,361 WARN [org.jboss.jca.adapters.jdbc.WrappedConnection] (http-web-1377112) Closing a statement you left open, please do your own housekeeping: java.lang.Throwable: STACKTRACE
at org.jboss.jca.adapters.jdbc.WrappedConnection.registerStatement(WrappedConnection.java:1677)
at org.jboss.jca.adapters.jdbc.WrappedStatement.<init>(WrappedStatement.java:105)
at org.jboss.jca.adapters.jdbc.WrappedPreparedStatement.<init>(WrappedPreparedStatement.java:69)
at org.jboss.jca.adapters.jdbc.WrappedCallableStatement.<init>(WrappedCallableStatement.java:68)
at org.jboss.jca.adapters.jdbc.jdk6.WrappedCallableStatementJDK6.<init>(WrappedCallableStatementJDK6.java:52)
at org.jboss.jca.adapters.jdbc.jdk6.WrappedConnectionJDK6.wrapCallableStatement(WrappedConnectionJDK6.java:91)
at org.jboss.jca.adapters.jdbc.WrappedConnection.prepareCall(WrappedConnection.java:598)
at ig.charging.SubsCommonBean.isSubscribedSp(SubsCommonBean.java:1114) [classes:]
at org.apache.jsp.addconsent_jsp._jspService(addconsent_jsp.java:512)
at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:69) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:365) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:309) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:242) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at javax.servlet.http.HttpServlet.service(HttpServlet.java:847) [jboss-servlet-api_3.0_spec-1.0.2.Final-redhat-1.jar:1.0.2.Final-redhat-1]
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:295) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:214) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:231) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:149) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.jboss.as.web.security.SecurityContextAssociationValve.invoke(SecurityContextAssociationValve.java:169) [jboss-as-web-7.4.0.Final-redhat-19.jar:7.4.0.Final-redhat-19]
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:145) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:97) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:559) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:102) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:344) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.coyote.http11.Http11Processor.process(Http11Processor.java:856) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.coyote.http11.Http11Protocol$Http11ConnectionHandler.process(Http11Protocol.java:653) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.apache.tomcat.util.net.JIoEndpoint$SocketProcessor.run(JIoEndpoint.java:511) [jbossweb-7.4.8.Final-redhat-4.jar:7.4.8.Final-redhat-4]
at org.jboss.threads.SimpleDirectExecutor.execute(SimpleDirectExecutor.java:33)
at org.jboss.threads.QueueExecutor.runTask(QueueExecutor.java:808)
at org.jboss.threads.QueueExecutor.access$100(QueueExecutor.java:45)
at org.jboss.threads.QueueExecutor$Worker.run(QueueExecutor.java:828)
at java.lang.Thread.run(Thread.java:744) [rt.jar:1.7.0_51]
at org.jboss.threads.JBossThread.run(JBossThread.java:122)
答案 0 :(得分:0)
在这个实例中,你并没有真正打开或关闭连接。您正在通过数据源(连接池)获取共享连接。 connection.close()只是返回连接池的连接,其中一些其他组件将获取此打开的连接并使用它来执行自己的语句。
拥有连接池的关键在于打开和关闭连接实际上是昂贵的任务(资源和时间),因此每次要访问数据源(通常是数据库)时,您都不希望这样做。
但是,这意味着您应该正确关闭语句以强制执行。
这是一条警告信息。您不需要显式关闭语句,但这意味着它可能实际上不会在您期望的时间执行。希望有所帮助。
如果收到此消息,则表示您已启用跟踪语句,并且您没有关闭ResultSet / Statements。通过数据源上的以下选项启用此跟踪:
<track-statements>true</track-statements>
答案 1 :(得分:0)
您在server.log文件中找到的战争文件名。如果您可以启用JCA跟踪日志记录以查看应用程序代码堆栈跟踪:
<logger category="com.arjuna">
<level name="TRACE"/>
</logger>
<logger category="org.jboss.jca">
<level name="TRACE"/>
</logger>
<logger category="org.jboss.as.connector">
<level name="TRACE"/>
</logger>