Class ReactiveMongoSessionRepository
java.lang.Object
org.springframework.session.data.mongo.ReactiveMongoSessionRepository
- All Implemented Interfaces:
org.springframework.beans.factory.Aware,org.springframework.beans.factory.InitializingBean,org.springframework.context.ApplicationEventPublisherAware,ReactiveSessionRepository<MongoSession>
- Direct Known Subclasses:
ReactiveMongoOperationsSessionRepository
public class ReactiveMongoSessionRepository
extends Object
implements ReactiveSessionRepository<MongoSession>, org.springframework.context.ApplicationEventPublisherAware, org.springframework.beans.factory.InitializingBean
A
ReactiveSessionRepository implementation that uses Spring Data MongoDB.- Since:
- 2.2.0
-
Field Summary
FieldsModifier and TypeFieldDescriptionstatic final StringThe default collection name for storing session.static final intThe default time period in seconds in which a session will expire. -
Constructor Summary
ConstructorsConstructorDescriptionReactiveMongoSessionRepository(org.springframework.data.mongodb.core.ReactiveMongoOperations mongoOperations) -
Method Summary
Modifier and TypeMethodDescriptionvoidDo not useReactiveIndexOperationsto ensure indexes exist.reactor.core.publisher.Mono<MongoSession>Creates a newMongoSessionthat is capable of being persisted by thisReactiveSessionRepository.reactor.core.publisher.Mono<Void>deleteById(String id) reactor.core.publisher.Mono<MongoSession>reactor.core.publisher.Mono<Void>save(MongoSession session) Ensures theSessioncreated byReactiveSessionRepository.createSession()is saved.voidsetApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher eventPublisher) voidsetBlockingMongoOperations(org.springframework.data.mongodb.core.MongoOperations blockingMongoOperations) voidsetCollectionName(String collectionName) voidsetMaxInactiveIntervalInSeconds(Integer maxInactiveIntervalInSeconds) voidsetMongoSessionConverter(AbstractMongoSessionConverter mongoSessionConverter)
-
Field Details
-
DEFAULT_INACTIVE_INTERVAL
public static final int DEFAULT_INACTIVE_INTERVALThe default time period in seconds in which a session will expire.- See Also:
-
DEFAULT_COLLECTION_NAME
The default collection name for storing session.- See Also:
-
-
Constructor Details
-
ReactiveMongoSessionRepository
public ReactiveMongoSessionRepository(org.springframework.data.mongodb.core.ReactiveMongoOperations mongoOperations)
-
-
Method Details
-
createSession
Creates a newMongoSessionthat is capable of being persisted by thisReactiveSessionRepository.This allows optimizations and customizations in how the
MongoSessionis persisted. For example, the implementation returned might keep track of the changes ensuring that only the delta needs to be persisted on a save.- Specified by:
createSessionin interfaceReactiveSessionRepository<MongoSession>- Returns:
- a new
MongoSessionthat is capable of being persisted by thisReactiveSessionRepository
-
save
Description copied from interface:ReactiveSessionRepositoryEnsures theSessioncreated byReactiveSessionRepository.createSession()is saved.Some implementations may choose to save as the
Sessionis updated by returning aSessionthat immediately persists any changes. In this case, this method may not actually do anything.- Specified by:
savein interfaceReactiveSessionRepository<MongoSession>- Parameters:
session- theSessionto save- Returns:
- indicator of operation completion
-
findById
Description copied from interface:ReactiveSessionRepository- Specified by:
findByIdin interfaceReactiveSessionRepository<MongoSession>- Parameters:
id- theSession.getId()to lookup- Returns:
- the
Sessionby theSession.getId()or null if noSessionis found.
-
deleteById
Description copied from interface:ReactiveSessionRepository- Specified by:
deleteByIdin interfaceReactiveSessionRepository<MongoSession>- Parameters:
id- theSession.getId()to delete- Returns:
- indicator of operation completion
-
afterPropertiesSet
public void afterPropertiesSet()Do not useReactiveIndexOperationsto ensure indexes exist. Instead, get a blockingIndexOperationsand use that instead, if possible.- Specified by:
afterPropertiesSetin interfaceorg.springframework.beans.factory.InitializingBean
-
setApplicationEventPublisher
public void setApplicationEventPublisher(org.springframework.context.ApplicationEventPublisher eventPublisher) - Specified by:
setApplicationEventPublisherin interfaceorg.springframework.context.ApplicationEventPublisherAware
-
getMaxInactiveIntervalInSeconds
-
setMaxInactiveIntervalInSeconds
-
getCollectionName
-
setCollectionName
-
setMongoSessionConverter
-
setBlockingMongoOperations
public void setBlockingMongoOperations(org.springframework.data.mongodb.core.MongoOperations blockingMongoOperations)
-