public class MockWebSession extends ObjectSE implements WebSession
InMemoryWebSessionStore
を介して取得したセッションインスタンスに委譲する WebSession
の実装。 これは、MockServerWebExchange
ビルダーの session(WebSession)
メソッドで使用することを目的としており、WebSessionManager
または WebSessionStore
を完全に使用する必要がありません。
コンストラクターと説明 |
---|
MockWebSession() |
MockWebSession(ClockSE clock) |
修飾子と型 | メソッドと説明 |
---|---|
reactor.core.publisher.Mono<VoidSE> | changeSessionId() セッションの新しい ID を生成し、基になるセッションストレージを更新して新しい ID を反映させます。 |
MapSE<StringSE, ObjectSE> | getAttributes() セッション属性を保持するマップを返します。 |
InstantSE | getCreationTime() セッションが作成された時刻を返します。 |
StringSE | getId() 一意のセッション識別子を返します。 |
InstantSE | getLastAccessTime() HTTP リクエストなどのユーザーアクティビティの結果として、セッションアクセスの最後の時間を返します。 |
DurationSE | getMaxIdleTime() lastAccessTime の後、セッションが期限切れになるまでの最大時間を返します。 |
reactor.core.publisher.Mono<VoidSE> | invalidate() 現在のセッションを無効にし、セッションストレージをクリアします。 |
boolean | isExpired() maxIdleTime の経過後にセッションが期限切れになった場合は、true を返します。 |
boolean | isStarted() クライアントとのセッションが WebSession.start() を介して明示的に開始されたか、セッション属性を追加して暗黙的に開始されたか。 |
reactor.core.publisher.Mono<VoidSE> | save() 次のように WebSessionStore を介してセッションを保存します。セッションが新しい場合(つまり |
void | setMaxIdleTime(DurationSE maxIdleTime) lastAccessTime の後、セッションが期限切れと見なされるまでの最大時間を設定します。 |
void | start() WebSession.save() が呼び出されたときにセッション ID が送信されるように、セッションを強制的に作成します。 |
cloneSE, equalsSE, finalizeSE, getClassSE, hashCodeSE, notifySE, notifyAllSE, toStringSE, waitSE, waitSE, waitSE
getAttribute, getAttributeOrDefault, getRequiredAttribute
public StringSE getId()
WebSession
WebSession
の getId
public MapSE<StringSE,ObjectSE> getAttributes()
WebSession
WebSession
の getAttributes
public void start()
WebSession
WebSession.save()
が呼び出されたときにセッション ID が送信されるように、セッションを強制的に作成します。WebSession
の start
public boolean isStarted()
WebSession
WebSession.start()
を介して明示的に開始されたか、セッション属性を追加して暗黙的に開始されたか。"false" の場合、セッション ID はクライアントに送信されず、WebSession.save()
メソッドは基本的に何もしません。WebSession
の isStarted
public reactor.core.publisher.Mono<VoidSE> changeSessionId()
WebSession
WebSession.getId()
は新しいセッション ID を反映します。WebSession
の changeSessionId
public reactor.core.publisher.Mono<VoidSE> invalidate()
WebSession
WebSession
の invalidate
public reactor.core.publisher.Mono<VoidSE> save()
WebSession
WebSessionStore
を介してセッションを保存します。WebSession.start()
を介して明示的に開始されているか、属性を追加することによって暗黙的に開始されている必要があります。そうでない場合、このメソッドは効果がありません。WebSessionStore
を介して取得された場合、このメソッドの実装は、セッションが invalidated
であったかどうかを確認し、そうであった場合はエラーを返す必要があります。このメソッドは、アプリケーションで直接使用するためのものではないことに注意してください。代わりに、レスポンスがコミットされる直前に自動的に呼び出されます。
WebSession
の save
Mono
は、成功またはエラーで完了を示します public boolean isExpired()
WebSession
maxIdleTime
の経過後にセッションが期限切れになった場合は、true
を返します。 通常、セッションがアクセスされたときに有効期限チェックが自動的に行われ、必要に応じて新しい WebSession
インスタンスがリクエスト処理の開始時に作成されるため、アプリケーションはデフォルトで期限切れのセッションについて心配する必要がありません。
WebSession
の isExpired
public InstantSE getCreationTime()
WebSession
WebSession
の getCreationTime
public InstantSE getLastAccessTime()
WebSession
maxIdleTimeInSeconds
と一緒に使用すると、いつセッションが expired
であるかを判別できます。WebSession
の getLastAccessTime
public void setMaxIdleTime(DurationSE maxIdleTime)
WebSession
lastAccessTime
の後、セッションが期限切れと見なされるまでの最大時間を設定します。負の値は、セッションが期限切れにならないことを示します。WebSession
の setMaxIdleTime
public DurationSE getMaxIdleTime()
WebSession
lastAccessTime
の後、セッションが期限切れになるまでの最大時間を返します。負の時間は、セッションが期限切れにならないことを示します。WebSession
の getMaxIdleTime