クラス MongoIndexedSessionRepository
java.lang.ObjectSE
org.springframework.session.data.mongo.MongoIndexedSessionRepository
- 実装されたすべてのインターフェース:
org.springframework.beans.factory.Aware
、org.springframework.beans.factory.InitializingBean
、org.springframework.context.ApplicationEventPublisherAware
、FindByIndexNameSessionRepository<org.springframework.session.data.mongo.MongoSession>
、SessionRepository<org.springframework.session.data.mongo.MongoSession>
public class MongoIndexedSessionRepository
extends ObjectSE
implements FindByIndexNameSessionRepository<org.springframework.session.data.mongo.MongoSession>, org.springframework.context.ApplicationEventPublisherAware, org.springframework.beans.factory.InitializingBean
Mongo にセッションを格納するセッションリポジトリの実装。
AbstractMongoSessionConverter
を使用して、セッションオブジェクトをネイティブ Mongo 表現(DBObject
)との間で変換します。リポジトリは、データベースから期限切れのセッションを削除するロールも果たします。クリーンアップは毎分行われます。- 導入:
- 2.2.0
フィールドサマリー
フィールドインターフェース org.springframework.session.FindByIndexNameSessionRepository から継承されたフィールド
PRINCIPAL_NAME_INDEX_NAME
コンストラクターのサマリー
コンストラクターコンストラクター説明MongoIndexedSessionRepository
(org.springframework.data.mongodb.core.MongoOperations mongoOperations) メソッドのサマリー
修飾子と型メソッド説明void
org.springframework.session.data.mongo.MongoSession
このSessionRepository
によって永続化できる新しいSession
を作成します。void
deleteById
(StringSE id) org.springframework.session.data.mongo.MongoSession
findByIndexNameAndIndexValue
(StringSE indexName, StringSE indexValue) 現在、このリポジトリでは、PRINCIPAL_NAME_INDEX_NAME
に対するクエリのみが許可されています。void
save
(org.springframework.session.data.mongo.MongoSession session) SessionRepository.createSession()
によって作成されたSession
が確実に保存されます。void
setApplicationEventPublisher
(org.springframework.context.ApplicationEventPublisher eventPublisher) void
setCollectionName
(StringSE collectionName) void
setDefaultMaxInactiveInterval
(DurationSE defaultMaxInactiveInterval) 新しく作成されたセッションが無効になるまでのリクエスト間の最大非アクティブ間隔を秒単位で設定します。void
setMaxInactiveIntervalInSeconds
(IntegerSE defaultMaxInactiveInterval) 使用すべきではありません。3.0.0 以降、setDefaultMaxInactiveInterval(Duration)
を推奨void
setMongoSessionConverter
(AbstractMongoSessionConverter mongoSessionConverter) void
setSessionIdGenerator
(SessionIdGenerator sessionIdGenerator) セッション ID の生成に使用するSessionIdGenerator
を設定します。クラス java.lang.ObjectSE から継承されたメソッド
clone, equalsSE, finalize, getClass, hashCode, notify, notifyAll, toString, wait, waitSE, waitSE
インターフェース org.springframework.session.FindByIndexNameSessionRepository から継承されたメソッド
findByPrincipalName
フィールドの詳細
DEFAULT_INACTIVE_INTERVAL
使用すべきではありません。3.0.0 以降、MapSession.DEFAULT_MAX_INACTIVE_INTERVAL_SECONDS
を推奨セッションが期限切れになるデフォルトの時間(秒単位)。- 関連事項:
DEFAULT_COLLECTION_NAME
セッションを保存するためのデフォルトのコレクション名。- 関連事項:
コンストラクターの詳細
MongoIndexedSessionRepository
public MongoIndexedSessionRepository(org.springframework.data.mongodb.core.MongoOperations mongoOperations)
メソッドの詳細
createSession
public org.springframework.session.data.mongo.MongoSession createSession()インターフェースからコピーされた説明:SessionRepository
このSessionRepository
によって永続化できる新しいSession
を作成します。これにより、
Session
の永続化方法の最適化とカスタマイズが可能になります。例: 返された実装は変更を追跡し、保存時にデルタのみを永続化する必要があることを保証する場合があります。- 次で指定:
- インターフェース
SessionRepository<org.springframework.session.data.mongo.MongoSession>
のcreateSession
- 戻り値:
- この
SessionRepository
によって永続化できる新しいSession
save
public void save(org.springframework.session.data.mongo.MongoSession session) インターフェースからコピーされた説明:SessionRepository
SessionRepository.createSession()
によって作成されたSession
が確実に保存されます。一部の実装では、変更を即座に保持する
Session
を返すことにより、Session
が更新されたときに保存することを選択する場合があります。この場合、このメソッドは実際には何も実行しない可能性があります。- 次で指定:
- インターフェース
SessionRepository<org.springframework.session.data.mongo.MongoSession>
のsave
- パラメーター:
session
- 保存するSession
findById
インターフェースからコピーされた説明:SessionRepository
- 次で指定:
- インターフェース
SessionRepository<org.springframework.session.data.mongo.MongoSession>
のfindById
- パラメーター:
id
- ルックアップするSession.getId()
- 戻り値:
Session.getId()
によるSession
、またはSession
が見つからない場合は null。
findByIndexNameAndIndexValue
public MapSE<StringSE,org.springframework.session.data.mongo.MongoSession> findByIndexNameAndIndexValue(StringSE indexName, StringSE indexValue) 現在、このリポジトリでは、PRINCIPAL_NAME_INDEX_NAME
に対するクエリのみが許可されています。- 次で指定:
- インターフェース
FindByIndexNameSessionRepository<org.springframework.session.data.mongo.MongoSession>
のfindByIndexNameAndIndexValue
- パラメーター:
indexName
- インデックスの場合の名前 (i.e.FindByIndexNameSessionRepository.PRINCIPAL_NAME_INDEX_NAME
)indexValue
- 検索するインデックスの値。- 戻り値:
- セッションマップ
deleteById
インターフェースからコピーされた説明:SessionRepository
- 次で指定:
- インターフェース
SessionRepository<org.springframework.session.data.mongo.MongoSession>
のdeleteById
- パラメーター:
id
- 削除するSession.getId()
afterPropertiesSet
public void afterPropertiesSet()- 次で指定:
- インターフェース
org.springframework.beans.factory.InitializingBean
のafterPropertiesSet
setApplicationEventPublisher
public void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher eventPublisher) - 次で指定:
- インターフェース
org.springframework.context.ApplicationEventPublisherAware
のsetApplicationEventPublisher
setDefaultMaxInactiveInterval
新しく作成されたセッションが無効になるまでの、リクエスト間の最大非アクティブ間隔を秒単位で設定します。負の時間は、セッションがタイムアウトしないことを示します。デフォルトは 30 分です。- パラメーター:
defaultMaxInactiveInterval
- デフォルトの maxInactiveInterval
setMaxInactiveIntervalInSeconds
@DeprecatedSE(since="3.0.0") public void setMaxInactiveIntervalInSeconds(IntegerSE defaultMaxInactiveInterval) 使用すべきではありません。3.0.0 以降、setDefaultMaxInactiveInterval(Duration)
を推奨新しく作成されたセッションが無効になるまでの、リクエスト間の最大非アクティブ間隔を秒単位で設定します。負の時間は、セッションがタイムアウトしないことを示します。デフォルトは 1800 (30 分です)。- パラメーター:
defaultMaxInactiveInterval
- 秒単位のデフォルトの maxInactiveInterval
setCollectionName
setMongoSessionConverter
setSessionIdGenerator
セッション ID の生成に使用するSessionIdGenerator
を設定します。- パラメーター:
sessionIdGenerator
- 使用するSessionIdGenerator
- 導入:
- 3.2
MapSession.DEFAULT_MAX_INACTIVE_INTERVAL_SECONDS
を推奨