public class InMemoryWebSessionStore extends ObjectSE implements WebSessionStore
WebSession
インスタンス用のシンプルなマップベースのストレージ。コンストラクターと説明 |
---|
InMemoryWebSessionStore() |
修飾子と型 | メソッドと説明 |
---|---|
reactor.core.publisher.Mono<WebSession> | createWebSession() 新しい WebSession を作成します。 |
ClockSE | getClock() セッションの lastAccessTime 計算用に構成されたクロックを返します。 |
int | getMaxSessions() 保存できるセッションの最大数を返します。 |
MapSE<StringSE, WebSession> | getSessions() unmodifiable SE ラッパーを使用してセッションのマップを返します。 |
void | removeExpiredSessions() 期限切れのセッションを確認して削除します。 |
reactor.core.publisher.Mono<VoidSE> | removeSession(StringSE id) 指定された ID の WebSession を削除します。 |
reactor.core.publisher.Mono<WebSession> | retrieveSession(StringSE id) 指定された ID の WebSession を返します。 |
void | setClock(ClockSE clock) 作成されたすべてのセッションで lastAccessTime を設定し、期限切れかどうかを計算するために使用する Clock SE を構成します。 |
void | setMaxSessions(int maxSessions) 保存できるセッションの最大数を設定します。 |
reactor.core.publisher.Mono<WebSession> | updateLastAccessTime(WebSession session) 最後にアクセスしたタイムスタンプを「今」に更新します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
public void setMaxSessions(int maxSessions)
IllegalStateException
SE が発生します。デフォルトでは 10000 に設定されています。
maxSessions
- セッションの最大数 public int getMaxSessions()
public void setClock(ClockSE clock)
Clock
SE を構成します。 これは、異なるタイムゾーンに合わせる場合や、テストでクロックを戻す場合に役立ちます。セッションの有効期限をシミュレートするための Clock.offset(clock, Duration.ofMinutes(-31))
。
デフォルトでは、これは Clock.system(ZoneId.of("GMT"))
です。
clock
- 使用する監視 public ClockSE getClock()
public MapSE<StringSE,WebSession> getSessions()
unmodifiable
SE ラッパーを使用してセッションのマップを返します。これは、管理目的、アクティブなセッションの一覧表示、期限切れのセッションの無効化などに使用できます。public reactor.core.publisher.Mono<WebSession> createWebSession()
WebSessionStore
これは、新しいインスタンスを作成する以外の何もしないことに注意してください。セッションは後で WebSession.start()
を介して明示的に開始するか、属性を追加することによって暗黙的に開始でき、その後 WebSession.save()
を介して永続化できます。
WebSessionStore
の createWebSession
public reactor.core.publisher.Mono<WebSession> retrieveSession(StringSE id)
WebSessionStore
注意 : このメソッドは有効期限チェックを実行し、有効期限が切れている場合はセッションを削除して空を返します。このメソッドは、取得したセッションの lastAccessTime も更新する必要があります。
WebSessionStore
の retrieveSession
id
- ロードするセッション Mono
。public reactor.core.publisher.Mono<VoidSE> removeSession(StringSE id)
WebSessionStore
WebSessionStore
の removeSession
id
- 削除するセッションの IDpublic reactor.core.publisher.Mono<WebSession> updateLastAccessTime(WebSession session)
WebSessionStore
WebSessionStore
の updateLastAccessTime
session
- 更新するセッション