Linux 上の Tomcat で Java Web サービスを実行しています。JWS は、呼び出しごとに新しいセッションを作成し続けます。ユーザーが WebService 呼び出しを完了したら、セッションを削除/強制終了したいと思います。誰もこれを経験していますか?WebService はより大きなアプリの一部であるため、タイムアウトを減らすことはできません。
2 に答える
1
WS を独自の Web アプリケーションに移動して (おそらく最初に実行する必要があったように)、個別にセットアップするか、WS への呼び出しをインターセプトする HTTP フィルターをインストールし、WS からの応答が送信された後にセッションを閉じるか、またはWS 自体にセッションを閉じてもらいます。
于 2013-03-26T12:52:24.620 に答える
0
このための回避策として、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();
}
于 2013-03-28T12:22:25.687 に答える