クラス InMemoryWebSessionStore
java.lang.ObjectSE
org.springframework.web.server.session.InMemoryWebSessionStore
- 実装されたすべてのインターフェース:
WebSessionStore
WebSession
インスタンス用のシンプルなマップベースのストレージ。- 導入:
- 5.0
- 作成者:
- Rossen Stoyanchev, Rob Winch
コンストラクターのサマリー
メソッドのサマリー
修飾子と型メソッド説明reactor.core.publisher.Mono<WebSession>
新しい WebSession を作成します。getClock()
セッション lastAccessTime 計算用に構成されたクロックを返します。int
保存できるセッションの最大数を返します。unmodifiable
SE ラッパーを使用してセッションのマップを返します。void
期限切れのセッションを確認して削除します。reactor.core.publisher.Mono<VoidSE>
指定された ID の WebSession を削除します。reactor.core.publisher.Mono<WebSession>
指定された ID の WebSession を返します。void
作成されたすべてのセッションに lastAccessTime を設定し、期限が切れているかどうかを計算するために使用するClock
SE を構成します。void
setMaxSessions
(int maxSessions) 保存できるセッションの最大数を設定します。reactor.core.publisher.Mono<WebSession>
updateLastAccessTime
(WebSession session) 最後にアクセスしたタイムスタンプを「今」に更新します。
コンストラクターの詳細
InMemoryWebSessionStore
public InMemoryWebSessionStore()
メソッドの詳細
setMaxSessions
public void setMaxSessions(int maxSessions) 保存できるセッションの最大数を設定します。制限に達すると、追加のセッションを保存しようとすると、IllegalStateException
SE が発生します。デフォルトでは 10000 に設定されています。
- パラメーター:
maxSessions
- セッションの最大数- 導入:
- 5.0.8
getMaxSessions
public int getMaxSessions()保存できるセッションの最大数を返します。- 導入:
- 5.0.8
setClock
作成されたすべてのセッションに lastAccessTime を設定し、期限が切れているかどうかを計算するために使用するClock
SE を構成します。これは、異なるタイムゾーンに合わせる場合や、テストでクロックを戻す場合に役立ちます。セッションの有効期限をシミュレートするための
Clock.offset(clock, Duration.ofMinutes(-31))
。デフォルトでは、これは
Clock.system(ZoneId.of("GMT"))
です。- パラメーター:
clock
- 使用する監視
getClock
セッション lastAccessTime 計算用に構成されたクロックを返します。getSessions
unmodifiable
SE ラッパーを使用してセッションのマップを返します。これは、管理目的、アクティブなセッションの一覧表示、期限切れのセッションの無効化などに使用できます。- 導入:
- 5.0.8
createWebSession
インターフェースからコピーされた説明:WebSessionStore
新しい WebSession を作成します。これは、新しいインスタンスを作成する以外の何もしないことに注意してください。セッションは後で
WebSession.start()
を介して明示的に開始するか、属性を追加することによって暗黙的に開始でき、その後WebSession.save()
を介して永続化できます。- 次で指定:
- インターフェース
WebSessionStore
のcreateWebSession
- 戻り値:
- 作成されたセッションインスタンス
retrieveSession
インターフェースからコピーされた説明:WebSessionStore
指定された ID の WebSession を返します。注意 : このメソッドは有効期限チェックを実行し、有効期限が切れている場合はセッションを削除して空を返します。また、このメソッドは取得したセッションの lastAccessTime を更新する必要があります。
- 次で指定:
- インターフェース
WebSessionStore
のretrieveSession
- パラメーター:
id
- ロードするセッション- 戻り値:
- セッション、または空の
Mono
removeSession
インターフェースからコピーされた説明:WebSessionStore
指定された ID の WebSession を削除します。- 次で指定:
- インターフェース
WebSessionStore
のremoveSession
- パラメーター:
id
- 削除するセッションの ID- 戻り値:
- 完了通知 (成功またはエラー)
updateLastAccessTime
インターフェースからコピーされた説明:WebSessionStore
最後にアクセスしたタイムスタンプを「今」に更新します。- 次で指定:
- インターフェース
WebSessionStore
のupdateLastAccessTime
- パラメーター:
session
- 更新するセッション- 戻り値:
- 最終アクセス時刻が更新されたセッション
removeExpiredSessions
public void removeExpiredSessions()期限切れのセッションを確認して削除します。通常、このようなチェックは、create
またはretrieve
への呼び出し中に 60 秒以上間隔を空けて開始されます。このメソッドを呼び出して、特定の時間にチェックを強制することができます。- 導入:
- 5.0.8