Class CoherenceIndexedSessionRepository

java.lang.Object
com.oracle.coherence.spring.session.CoherenceIndexedSessionRepository
All Implemented Interfaces:
Aware, ApplicationEventPublisherAware, org.springframework.session.FindByIndexNameSessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>, org.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>

public class CoherenceIndexedSessionRepository extends Object implements org.springframework.session.FindByIndexNameSessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>, ApplicationEventPublisherAware
The CoherenceIndexedSessionRepository is a SessionRepository implementation that stores sessions in Coherence's distributed CacheMap.
Since:
3.0
Author:
Gunnar Hillert
  • Field Details

    • DEFAULT_SESSION_MAP_NAME

      public static final String DEFAULT_SESSION_MAP_NAME
      The default name of map used by Spring Session to store sessions.
      See Also:
    • PRINCIPAL_NAME_ATTRIBUTE

      public static final String PRINCIPAL_NAME_ATTRIBUTE
      The principal name custom attribute name.
      See Also:
  • Constructor Details

    • CoherenceIndexedSessionRepository

      public CoherenceIndexedSessionRepository(com.tangosol.net.Session coherenceSession)
      Create a new CoherenceIndexedSessionRepository instance.
      Parameters:
      coherenceSession - the Coherence Session instance to use for managing sessions
  • Method Details

    • init

      @PostConstruct public void init()
    • close

      @PreDestroy public void close()
    • setDefaultMaxInactiveInterval

      public void setDefaultMaxInactiveInterval(Duration defaultMaxInactiveInterval)
      Set the maximum inactive interval between requests before newly created sessions will be invalidated. A value of 0 means that the session will never time out unless the cache is configured otherwise in the coherence-cache-config.xml. The default is 1800s (30 minutes).
      Parameters:
      defaultMaxInactiveInterval - the maximum inactive interval in seconds must not be negative or null
    • setIndexResolver

      public void setIndexResolver(org.springframework.session.IndexResolver<org.springframework.session.Session> indexResolver)
      Set the IndexResolver to use.
      Parameters:
      indexResolver - the index resolver
    • setSessionMapName

      public void setSessionMapName(String sessionMapName)
      Set the name of map used to store sessions.
      Parameters:
      sessionMapName - the session map name
    • setFlushMode

      public void setFlushMode(org.springframework.session.FlushMode flushMode)
      Sets the FlushMode. Defaults to FlushMode.ON_SAVE.
      Parameters:
      flushMode - must not be null
    • setSaveMode

      public void setSaveMode(org.springframework.session.SaveMode saveMode)
      Set the save mode.
      Parameters:
      saveMode - must not be null
    • setUseEntryProcessor

      public void setUseEntryProcessor(boolean useEntryProcessor)
    • isUseEntryProcessor

      public boolean isUseEntryProcessor()
    • createSession

      Specified by:
      createSession in interface org.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
    • save

      Specified by:
      save in interface org.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
    • findById

      Specified by:
      findById in interface org.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
    • deleteById

      public void deleteById(String id)
      Specified by:
      deleteById in interface org.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
    • findByIndexNameAndIndexValue

      public Map<String,com.oracle.coherence.spring.session.CoherenceSpringSession> findByIndexNameAndIndexValue(String indexName, String indexValue)
      Specified by:
      findByIndexNameAndIndexValue in interface org.springframework.session.FindByIndexNameSessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
    • getFlushMode

      public org.springframework.session.FlushMode getFlushMode()
    • getSaveMode

      public org.springframework.session.SaveMode getSaveMode()
    • getIndexResolver

      public org.springframework.session.IndexResolver<org.springframework.session.Session> getIndexResolver()
    • setApplicationEventPublisher

      public void setApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher)
      Sets the ApplicationEventPublisher that is used to publish session events. The default is to not publish session events.
      Specified by:
      setApplicationEventPublisher in interface ApplicationEventPublisherAware
      Parameters:
      applicationEventPublisher - the ApplicationEventPublisher that is used to publish session events. Cannot be null.
    • clearAllSessions

      public void clearAllSessions()
      Clear all sessions.
    • resetMaxInactiveIntervalForActiveSessions

      public void resetMaxInactiveIntervalForActiveSessions()
      Reset the max inactive interval for all active sessions.