2017-08-22 17 views
1

私はtomcat8でグローバルsession-timeoutを変更する方法を知っている:パスごとにtomcatセッションのタイムアウトを設定するにはどうすればよいですか?

<session-config> 
    <session-timeout>30</session-timeout> 
</session-config> 

は質問:どのように私は、アプリケーションのパスごとにタイムアウトを変更できますか?

私はに複数のアプリケーションを展開するように:

/myapp/v1 
/myapp/v2 
/myapp/v3 
/someapp 

今、私は別のタイムアウトを持っているすべての/myapp/*パスをしたいです。しかし、テストサーバだけでも。プロダクションサーバーでは、タイムアウトはデフォルトのtomcat 30minsに維持する必要があります。

これは、新しいwarがデプロイされている場合の本番環境の展開にも影響するため、web.xmlをアプリケーション自体に追加したくない理由です。

これはまったく可能ですか?

重要な場合:spring-bootを使用しています。

答えて

0

最善の策は、おそらく、sessionhandlerクラス内でこの線に沿って何かを、これを処理することです:

public class AppHttpSessionListener implements HttpSessionListener { 

    @Override 
    public void sessionCreated(HttpSessionEvent event) { 
     event.getSession().setMaxInactiveInterval(15 * 60); 
    } 

    @Override 
    public void sessionDestroyed(HttpSessionEvent event) { 
     // session destroyed 
    } 
} 

参考:http://www.groupkt.com/post/7ee95bbd/session-timeout-handling-in-java.htm

私は間違っているかもしれないが、私はあなたわかりませんこれを行うことができます!

関連する問題