web-dev-qa-db-ja.com

JBossセッションタイムアウト

セッションタイムアウトを適切に処理するようにアプリの一部を作成しようとしていますが、テストのためにタイムアウトが発生するまでの期間を制御できないようです。

私はJBoss5.1を使用しており、セッションが1分後にタイムアウトするようにWeb記述子(web.xml)のsession-configを変更しています(テストのためだけに)

<session-config>
  <session-timeout>1</session-timeout>
</session-config>

ただし、ログインしてセッションを作成した後は、タイムアウトすることはありません。設定しないとタイムアウトになります。

Tomcat環境では、この問題は発生していません。誰かがJBossで同様の問題を抱えていましたか?

15
Rydell

JBoss 5では、次の場所ですべてのアプリケーションのセッションタイムアウトを定義できます。

deployers/jbossweb.deployer/web.xml

web.xmlの設定を上書きしている可能性があります。すべきではありませんが、あなたは知っています...

それが機能しているかどうかを確認してください。そうでない場合は、テスト用にプログラムでタイムアウトを設定できます。

HttpSession.setMaxInactiveInterval(int seconds)

そうすれば、特定のセッションでタイムアウトを強制できます。

18
Pere Villega

残念ながら、JBoss EAP 6.1.0.Alpha1(AS 7.2.0.Alpha1-redhat-4)では、web.xmlのWebアプリごとに設定する必要があります: JBossドキュメントを参照

これを使用すると言う:

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