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
FieldsModifier and TypeFieldDescriptionstatic final StringThe default name of map used by Spring Session to store sessions.static final StringThe principal name custom attribute name.Fields inherited from interface org.springframework.session.FindByIndexNameSessionRepository
PRINCIPAL_NAME_INDEX_NAME -
Constructor Summary
ConstructorsConstructorDescriptionCoherenceIndexedSessionRepository(com.tangosol.net.Session coherenceSession) Create a newCoherenceIndexedSessionRepositoryinstance. -
Method Summary
Modifier and TypeMethodDescriptionvoidClear all sessions.voidclose()voiddeleteById(String id) findByIndexNameAndIndexValue(String indexName, String indexValue) org.springframework.session.FlushModeorg.springframework.session.IndexResolver<org.springframework.session.Session>org.springframework.session.SaveModevoidinit()booleanvoidReset the max inactive interval for all active sessions.voidvoidsetApplicationEventPublisher(ApplicationEventPublisher applicationEventPublisher) Sets theApplicationEventPublisherthat is used to publishsession events.voidsetDefaultMaxInactiveInterval(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(String sessionMapName) Set the name of map used to store sessions.voidsetUseEntryProcessor(boolean useEntryProcessor) Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods 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 newCoherenceIndexedSessionRepositoryinstance.- Parameters:
coherenceSession- the CoherenceSessioninstance 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 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
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
-
setUseEntryProcessor
public void setUseEntryProcessor(boolean useEntryProcessor) -
isUseEntryProcessor
public boolean isUseEntryProcessor() -
createSession
- Specified by:
createSessionin interfaceorg.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
-
save
- Specified by:
savein interfaceorg.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
-
findById
- Specified by:
findByIdin interfaceorg.springframework.session.SessionRepository<com.oracle.coherence.spring.session.CoherenceSpringSession>
-
deleteById
- Specified by:
deleteByIdin 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:
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
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.
-
clearAllSessions
public void clearAllSessions()Clear all sessions. -
resetMaxInactiveIntervalForActiveSessions
public void resetMaxInactiveIntervalForActiveSessions()Reset the max inactive interval for all active sessions.
-