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