簡體   English   中英

Java Web Service創建了大量的Tomcat會話

[英]Java Web Service creates large number of Tomcat sessions

我在Linux上的Tomcat中運行Java Web Service。 JWS將繼續為每個呼叫創建新的會話。 我想在用戶完成WebService調用后刪除/終止會話。 有人對此有經驗嗎? 由於WebService是較大應用程序的一部分,因此無法減少超時。

要么將WS移到其自己的Web應用程序中(首先應該已經完成​​),然后將其單獨設置,安裝HTTP過濾器以攔截對WS的調用並在發送WS響應后關閉會話,或者讓WS自己關閉會話。

因此,作為一種解決方法,我在JWS中創建了一個方法,並在從這些方法返回數據之前調用它。 有點粗糙,但是可以用...

  private void dropWSSession(){
MessageContext messageContext = MessageContext.getCurrentContext();
HttpServlet servlet = (HttpServlet)messageContext.getProperty(HTTPConstants.MC_HTTP_SERVLET);
ServletContext servletContext = (ServletContext)servlet.getServletContext();
HttpSession session =((HttpServletRequest)messageContext.getProperty(HTTPConstants.MC_HTTP_SERVLETREQUEST)).getSession();
session.invalidate();

}

暫無
暫無

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

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