クラス MongoIndexedSessionRepository

java.lang.ObjectSE
org.springframework.session.data.mongo.MongoIndexedSessionRepository
実装されたすべてのインターフェース:
org.springframework.beans.factory.Awareorg.springframework.beans.factory.InitializingBeanorg.springframework.context.ApplicationEventPublisherAwareFindByIndexNameSessionRepository<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
  • フィールドの詳細

  • コンストラクターの詳細

    • 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

      @Nullable public org.springframework.session.data.mongo.MongoSession findById(StringSE id)
      インターフェースからコピーされた説明: SessionRepository
      Session.getId() によって Session を取得するか、Session が見つからない場合は null を取得します。
      次で指定:
      インターフェース 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

      public void deleteById(StringSE id)
      インターフェースからコピーされた説明: SessionRepository
      指定された Session.getId()Session を削除するか、Session が見つからない場合は何もしません。
      次で指定:
      インターフェース SessionRepository<org.springframework.session.data.mongo.MongoSession>deleteById 
      パラメーター:
      id - 削除する Session.getId()
    • afterPropertiesSet

      public void afterPropertiesSet()
      次で指定:
      インターフェース org.springframework.beans.factory.InitializingBeanafterPropertiesSet 
    • setApplicationEventPublisher

      public void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher eventPublisher)
      次で指定:
      インターフェース org.springframework.context.ApplicationEventPublisherAwaresetApplicationEventPublisher 
    • setDefaultMaxInactiveInterval

      public void setDefaultMaxInactiveInterval(DurationSE defaultMaxInactiveInterval)
      新しく作成されたセッションが無効になるまでの、リクエスト間の最大非アクティブ間隔を秒単位で設定します。負の時間は、セッションがタイムアウトしないことを示します。デフォルトは 30 分です。
      パラメーター:
      defaultMaxInactiveInterval - デフォルトの maxInactiveInterval
    • setMaxInactiveIntervalInSeconds

      @DeprecatedSE(since="3.0.0") public void setMaxInactiveIntervalInSeconds(IntegerSE defaultMaxInactiveInterval)
      使用すべきではありません。
      3.0.0 以降、setDefaultMaxInactiveInterval(Duration) を推奨
      新しく作成されたセッションが無効になるまでの、リクエスト間の最大非アクティブ間隔を秒単位で設定します。負の時間は、セッションがタイムアウトしないことを示します。デフォルトは 1800 (30 分です)。
      パラメーター:
      defaultMaxInactiveInterval - 秒単位のデフォルトの maxInactiveInterval
    • setCollectionName

      public void setCollectionName(StringSE collectionName)
    • setMongoSessionConverter

      public void setMongoSessionConverter(AbstractMongoSessionConverter mongoSessionConverter)
    • setSessionIdGenerator

      public void setSessionIdGenerator(SessionIdGenerator sessionIdGenerator)
      セッション ID の生成に使用する SessionIdGenerator を設定します。
      パラメーター:
      sessionIdGenerator - 使用する SessionIdGenerator
      導入:
      3.2