簡體   English   中英

org.apache.axis2.AxisFault:嘗試調用服務方法getUserInfomationByEmail時發生異常

[英]org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method getUserInfomationByEmail

我每天早上都會收到以下錯誤。 我每天早上必須重新啟動服務器以臨時修復錯誤。 可能存在與代碼相關的問題,但是為什么每天早晨? 我認為也可能存在與服務器相關的問題。

這是堆棧跟蹤。

org.apache.axis2.AxisFault: Exception occurred while trying to invoke service method getUserInfomationByEmail
    at org.apache.axis2.util.Utils.getInboundFaultFromMessageContext(Utils.java:531)
    at org.apache.axis2.description.OutInAxisOperationClient.handleResponse(OutInAxisOperation.java:375)
    at org.apache.axis2.description.OutInAxisOperationClient.send(OutInAxisOperation.java:421)
    at org.apache.axis2.description.OutInAxisOperationClient.executeImpl(OutInAxisOperation.java:229)
    at org.apache.axis2.client.OperationClient.execute(OperationClient.java:165)
    at ws.AuthenticateStub.getUserInfomationByEmail(AuthenticateStub.java:226)
    at xxx.xxx.tvawsclient.authenticate.AuthClient.getUserInfomationByEmail(AuthClient.java:97)
    at controller.Auth.doGet(Auth.java:104)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:622)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:729)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:291)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
    at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:239)
    at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:206)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
    at org.apache.catalina.core.StandardContextValve.__invoke(StandardContextValve.java:106)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java)
    at org.apache.catalina.authenticator.AuthenticatorBase.invoke(AuthenticatorBase.java:502)
    at org.apache.catalina.core.StandardHostValve.__invoke(StandardHostValve.java:142)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java)
    at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:79)
    at org.apache.catalina.valves.AbstractAccessLogValve.invoke(AbstractAccessLogValve.java:617)
    at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:88)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:518)
    at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1091)
    at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:668)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1527)
    at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1484)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
    at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
    at java.lang.Thread.run(Unknown Source)

你們需要其他信息來幫助我嗎?

似乎問題是在默認時間(8)小時后mysql端口沒有連接到數據庫時,mysql端口變為空閑狀態。 這就是每天早上都要面對這個問題的原因。

有兩種方法可以解決此問題:1.使用已描述的autoconnect = true屬性。 2.使用連接池

以下鏈接提供了更多信息。 故障排除mysql連接

15.4:我有一個servlet /應用程序,可以正常工作一天,然后在一夜之間停止工作

MySQL閑置8個小時后關閉連接。 您要么需要使用用於處理陳舊連接的連接池,要么使用autoReconnect參數(請參見第5.1節“驅動器/數據源類名稱,連接器/ J的URL語法和配置屬性”)。

另外,在應用程序中捕獲SQLException並對其進行處理,而不是一直傳播它們直到應用程序退出。 這只是良好的編程習慣。 當MySQL Connector / J在查詢處理期間遇到網絡連接問題時,會將SQLState(請參閱API文檔中的java.sql.SQLException.getSQLState())設置為08S01。 此時嘗試重新連接到MySQL。

以下(簡單的)示例顯示了可以處理這些異常的代碼如下所示:

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM