2016-12-29 44 views
0

我在JBoss服务器中遇到问题。在这个服务器上,有超过10个应用程序正在运行,JBoss引发异常或警告。在发生警告或错误时JBoss无法显示战名

我该如何分叉哪个应用程序(war)引发错误或警告。是否有任何动态显示战争名称以及警告/错误。

下面是我很困惑哪个应用程序抛出这些错误的错误。

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

在这种情况下,您并不真正打开或关闭连接。您正通过数据源(连接池)获取共享连接。 connection.close()只是将连接返回到连接池,其中一些其他组件将接收此打开的连接并将其用于执行自己的语句。

有一个连接池的关键是开放和关闭连接实际上是昂贵的任务(资源和时间),所以每次你想要访问数据源(通常是数据库)时你都不想这么做, 。

但是,这意味着您应该正确关闭声明以强制执行。

这是一条警告消息。您不需要明确地关闭该语句,但这意味着它可能不会在您期望的时间实际执行。希望有所帮助。

如果您收到此消息,则表示您已启用跟踪语句,但未关闭ResultSet /语句。此跟踪通过数据源上的以下选项启用:

<track-statements>true</track-statements> 
+0

我知道这是一个例外,但我必须跟踪哪个应用程序的抛出异常(包括任何战争名称)。我怎么跟踪。? –

+0

是否可以启用JCA Trace日志记录,重新创建问题并提供完整的server.log文件,以便我们可以更好地分析问题? <记录器类别= “com.arjuna”> <级别名称= “TRACE”/> <记录器类别= “org.jboss.jca”> <级别名称= “TRACE”/>

+0

我想在发生异常时应用程序的名称。 例如MyApplicationName.JSP/Java文件等。 因为在这些服务器中有很多应用程序部署了。所以我发现哪些应用程序会引发错误。 例如\t at ig.charging.SubsCommonBean.isSubscribedSp(SubsCommonBean.java:1151)[classes:] \t at org.apache.jsp.addDetails_jsp._jspService(addDetails_jsp.java:460) –

0

在server.log文件中找到的war文件名。如果您可以启用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>