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 Summary
Modifier and TypeFieldDescriptionstatic final String
The default name of map used by Spring Session to store sessions.static final String
The principal name custom attribute name.Fields inherited from interface org.springframework.session.FindByIndexNameSessionRepository
PRINCIPAL_NAME_INDEX_NAME
-
Constructor Summary
ConstructorDescriptionCoherenceIndexedSessionRepository
(com.tangosol.net.Session coherenceSession) Create a newCoherenceIndexedSessionRepository
instance. -
Method Summary
Modifier and TypeMethodDescriptionvoid
close()
void
deleteById
(String id) findByIndexNameAndIndexValue
(String indexName, String indexValue) org.springframework.session.FlushMode
org.springframework.session.IndexResolver<org.springframework.session.Session>
org.springframework.session.SaveMode
void
init()
void
void
setApplicationEventPublisher
(ApplicationEventPublisher applicationEventPublisher) Sets theApplicationEventPublisher
that is used to publishsession events
.void
setDefaultMaxInactiveInterval
(Duration defaultMaxInactiveInterval) Set the maximum inactive interval between requests before newly created sessions will be invalidated.void
setFlushMode
(org.springframework.session.FlushMode flushMode) Sets theFlushMode
.void
setIndexResolver
(org.springframework.session.IndexResolver<org.springframework.session.Session> indexResolver) Set theIndexResolver
to use.void
setSaveMode
(org.springframework.session.SaveMode saveMode) Set the save mode.void
setSessionMapName
(String sessionMapName) Set the name of map used to store sessions.Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
Methods inherited from interface org.springframework.session.FindByIndexNameSessionRepository
findByPrincipalName
-
Field Details
-
DEFAULT_SESSION_MAP_NAME
The default name of map used by Spring Session to store sessions.- See Also:
-
PRINCIPAL_NAME_ATTRIBUTE
The principal name custom attribute name.- See Also:
-
-
Constructor Details
-
CoherenceIndexedSessionRepository
public CoherenceIndexedSessionRepository(com.tangosol.net.Session coherenceSession) Create a newCoherenceIndexedSessionRepository
instance.- Parameters:
coherenceSession
- the CoherenceSession
instance to use for managing sessions
-
-
Method Details
-
init
@PostConstruct public void init() -
close
@PreDestroy public void close() -
setDefaultMaxInactiveInterval
Set the maximum inactive interval between requests before newly created sessions will be invalidated. A value of0
means 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 theIndexResolver
to use.- Parameters:
indexResolver
- the index resolver
-
setSessionMapName
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
- Specified by:
createSession
in interfaceorg.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
-
save
- Specified by:
save
in interfaceorg.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
-
findById
- Specified by:
findById
in interfaceorg.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
-
deleteById
- Specified by:
deleteById
in interfaceorg.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 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
Sets theApplicationEventPublisher
that is used to publishsession events
. The default is to not publish session events.- Specified by:
setApplicationEventPublisher
in interfaceApplicationEventPublisherAware
- Parameters:
applicationEventPublisher
- theApplicationEventPublisher
that is used to publish session events. Cannot be null.
-