2016-12-29 52 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>