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 java.lang.Object implements org.springframework.session.FindByIndexNameSessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>, ApplicationEventPublisherAware
TheCoherenceIndexedSessionRepositoryis aSessionRepositoryimplementation that stores sessions in Coherence's distributedCacheMap.- Since:
 - 3.0
 - Author:
 - Gunnar Hillert
 
 
- 
- 
Field Summary
Fields Modifier and Type Field Description static java.lang.StringDEFAULT_SESSION_MAP_NAMEThe default name of map used by Spring Session to store sessions.static java.lang.StringPRINCIPAL_NAME_ATTRIBUTEThe principal name custom attribute name. 
- 
Constructor Summary
Constructors Constructor Description CoherenceIndexedSessionRepository(com.tangosol.net.Session coherenceSession)Create a newCoherenceIndexedSessionRepositoryinstance. 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidclose()com.oracle.coherence.spring.session.CoherenceSpringSessioncreateSession()voiddeleteById(java.lang.String id)com.oracle.coherence.spring.session.CoherenceSpringSessionfindById(java.lang.String id)java.util.Map<java.lang.String,com.oracle.coherence.spring.session.CoherenceSpringSession>findByIndexNameAndIndexValue(java.lang.String indexName, java.lang.String indexValue)org.springframework.session.FlushModegetFlushMode()org.springframework.session.IndexResolver<org.springframework.session.Session>getIndexResolver()org.springframework.session.SaveModegetSaveMode()voidinit()voidsave(com.oracle.coherence.spring.session.CoherenceSpringSession session)voidsetApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher)Sets theApplicationEventPublisherthat is used to publishsession events.voidsetDefaultMaxInactiveInterval(java.time.Duration defaultMaxInactiveInterval)Set the maximum inactive interval between requests before newly created sessions will be invalidated.voidsetFlushMode(org.springframework.session.FlushMode flushMode)Sets theFlushMode.voidsetIndexResolver(org.springframework.session.IndexResolver<org.springframework.session.Session> indexResolver)Set theIndexResolverto use.voidsetSaveMode(org.springframework.session.SaveMode saveMode)Set the save mode.voidsetSessionMapName(java.lang.String sessionMapName)Set the name of map used to store sessions. 
 - 
 
- 
- 
Field Detail
- 
DEFAULT_SESSION_MAP_NAME
public static final java.lang.String DEFAULT_SESSION_MAP_NAME
The default name of map used by Spring Session to store sessions.- See Also:
 - Constant Field Values
 
 
- 
PRINCIPAL_NAME_ATTRIBUTE
public static final java.lang.String PRINCIPAL_NAME_ATTRIBUTE
The principal name custom attribute name.- See Also:
 - Constant Field Values
 
 
 - 
 
- 
Constructor Detail
- 
CoherenceIndexedSessionRepository
public CoherenceIndexedSessionRepository(com.tangosol.net.Session coherenceSession)
Create a newCoherenceIndexedSessionRepositoryinstance.- Parameters:
 coherenceSession- the CoherenceSessioninstance to use for managing sessions
 
 - 
 
- 
Method Detail
- 
init
@PostConstruct public void init()
 
- 
close
@PreDestroy public void close()
 
- 
setDefaultMaxInactiveInterval
public void setDefaultMaxInactiveInterval(java.time.Duration defaultMaxInactiveInterval)
Set the maximum inactive interval between requests before newly created sessions will be invalidated. A value of0means that the session will never time out unless the cache is configured otherwise in thecoherence-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 theIndexResolverto use.- Parameters:
 indexResolver- the index resolver
 
- 
setSessionMapName
public void setSessionMapName(java.lang.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 theFlushMode. Defaults toFlushMode.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
 
- 
createSession
public com.oracle.coherence.spring.session.CoherenceSpringSession createSession()
- Specified by:
 createSessionin interfaceorg.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
 
- 
save
public void save(com.oracle.coherence.spring.session.CoherenceSpringSession session)
- Specified by:
 savein interfaceorg.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
 
- 
findById
public com.oracle.coherence.spring.session.CoherenceSpringSession findById(java.lang.String id)
- Specified by:
 findByIdin interfaceorg.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
 
- 
deleteById
public void deleteById(java.lang.String id)
- Specified by:
 deleteByIdin interfaceorg.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
 
- 
findByIndexNameAndIndexValue
public java.util.Map<java.lang.String,com.oracle.coherence.spring.session.CoherenceSpringSession> findByIndexNameAndIndexValue(java.lang.String indexName, java.lang.String indexValue)
- Specified by:
 findByIndexNameAndIndexValuein interfaceorg.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 theApplicationEventPublisherthat is used to publishsession events. The default is to not publish session events.- Specified by:
 setApplicationEventPublisherin interfaceApplicationEventPublisherAware- Parameters:
 applicationEventPublisher- theApplicationEventPublisherthat is used to publish session events. Cannot be null.
 
 - 
 
 -