2015-09-10 61 views
8

私のアプリケーションは現在、バックエンドとしてRedisと共にSpring Sessionを使用しています。デフォルトのセッションタイムアウトとは何ですか?RedisをバックエンドとしてSpringセッションを使用する場合のコンフィグレーション方法

私はSpringセッションのためにofficial documentationを検索しましたが、そのモジュールを使用しているときのデフォルトのセッションタイムアウトを見つけることができませんでした。

また、必要に応じてデフォルトのタイムアウトを変更する方法がわかりません。

誰かに助言してもらえますか?

答えて

15

Redisのリポジトリを使用したときに、セッションのタイムアウトを設定する最も簡単な方法は、

@EnableRedisHttpSession(maxInactiveIntervalInSeconds = 60) 

セッションそれはリポジトリで使用できなくなったときを無期限です。 タイムアウトは、setDefaultMaxInactiveInterval(int)RedisOperationsSessionRepositoryMapSessionRepositoryの両方で設定できます。デフォルト値は30分です。

スプリングブートを使用している場合、バージョン1.3以降では、アプリケーション設定のserver.session.timeoutプロパティと自動的に値が同期されます。

スプリングセッションを使用する際の短所の1つは、javax.servlet.http.HttpSessionListenerが呼び出されないことです。

セッション満了イベントに反応する必要がある場合は、SessionDestroyedEvent Springアプリケーションのアプリケーションイベントを購読することができます。

+2

30分を意味しますか? – balteo

+0

@balteoはいそれは30分ではありません。私は答えを更新しました。 – tsachev

関連する問題