Interface WebSessionStore
- All Known Implementing Classes:
InMemoryWebSessionStore
public interface WebSessionStore
Strategy forWebSession
persistence.- Since:
- 5.0
- Author:
- Rossen Stoyanchev, Rob Winch
Method Summary
All Methods Instance Methods Abstract Methods Modifier and Type Method Description reactor.core.publisher.Mono<WebSession>
createWebSession()
Create a new WebSession.reactor.core.publisher.Mono<Void>
removeSession(String sessionId)
Remove the WebSession for the specified id.reactor.core.publisher.Mono<WebSession>
retrieveSession(String sessionId)
Return the WebSession for the given id.reactor.core.publisher.Mono<WebSession>
updateLastAccessTime(WebSession webSession)
Update the last accessed timestamp to "now".
Method Detail
createWebSession
reactor.core.publisher.Mono<WebSession> createWebSession()
Create a new WebSession.Note that this does nothing more than create a new instance. The session can later be started explicitly via
WebSession.start()
or implicitly by adding attributes -- and then persisted viaWebSession.save()
.- Returns:
- the created session instance
retrieveSession
reactor.core.publisher.Mono<WebSession> retrieveSession(String sessionId)
Return the WebSession for the given id.Note: This method should perform an expiration check, and if it has expired remove the session and return empty. This method should also update the lastAccessTime of retrieved sessions.
- Parameters:
sessionId
- the session to load- Returns:
- the session, or an empty
Mono
.
removeSession
reactor.core.publisher.Mono<Void> removeSession(String sessionId)
Remove the WebSession for the specified id.- Parameters:
sessionId
- the id of the session to remove- Returns:
- a completion notification (success or error)
updateLastAccessTime
reactor.core.publisher.Mono<WebSession> updateLastAccessTime(WebSession webSession)
Update the last accessed timestamp to "now".- Parameters:
webSession
- the session to update- Returns:
- the session with the updated last access time