public class SessionProviderInDb extends java.lang.Object implements SessionProvider, ReadOnlyStatus.IsAware
ApplicationListener
, which should be
used to keep the Session
instances up-to-date.Constructor and Description |
---|
SessionProviderInDb(Roles roles,
NodeProvider nodeProvider,
Executor executor) |
Modifier and Type | Method and Description |
---|---|
void |
executeCloseSession(java.lang.String uuid)
Loads a session directly, sets its "closed" value and immediately
saves it.
|
Session |
executeInternalSession(java.lang.String uuid,
Session session) |
long |
executeNextSessionId()
Added as an attempt to cure ticket:1176
|
Session |
executeUpdate(ServiceFactory sf,
Session session,
java.lang.String uuid,
long userId,
java.lang.Long sudoerId) |
Session |
findSessionById(long id,
ServiceFactory sf)
Retrieves a session by ID.
|
Session |
findSessionById(long id,
org.hibernate.Session session)
Retrieves a session by ID.
|
java.lang.Long |
findSessionIdByUuid(java.lang.String uuid) |
java.lang.Long |
findSessionIdByUuid(java.lang.String uuid,
ServiceFactory sf) |
boolean |
isReadOnly(ReadOnlyStatus readOnly) |
public SessionProviderInDb(Roles roles, NodeProvider nodeProvider, Executor executor)
public Session executeUpdate(ServiceFactory sf, Session session, java.lang.String uuid, long userId, java.lang.Long sudoerId)
executeUpdate
in interface SessionProvider
public void executeCloseSession(java.lang.String uuid)
SessionProvider
SessionManager.close(String)
and SessionManager.closeAll()
methods
since there are other non-explicit ways for a session to be destroyed, such
as a timeout within SessionCache
and so this is called from
SessionManagerImpl.onApplicationEvent(org.springframework.context.ApplicationEvent)
when a
DestroySessionMessage
is received.executeCloseSession
in interface SessionProvider
public Session executeInternalSession(java.lang.String uuid, Session session)
executeInternalSession
in interface SessionProvider
public long executeNextSessionId()
SessionProvider
executeNextSessionId
in interface SessionProvider
public Session findSessionById(long id, org.hibernate.Session session)
SessionProvider
findSessionById
in interface SessionProvider
id
- session ID to lookupsession
- active Hibernate sessionpublic Session findSessionById(long id, ServiceFactory sf)
SessionProvider
findSessionById
in interface SessionProvider
id
- session ID to lookupsf
- active service factorypublic java.lang.Long findSessionIdByUuid(java.lang.String uuid, ServiceFactory sf)
findSessionIdByUuid
in interface SessionProvider
public java.lang.Long findSessionIdByUuid(java.lang.String uuid)
findSessionIdByUuid
in interface SessionProvider
public boolean isReadOnly(ReadOnlyStatus readOnly)
isReadOnly
in interface ReadOnlyStatus.IsAware
readOnly
- a read-only status, typically the current one
Version: 5.4.6-ice35-b87
Copyright © 2018 The University of Dundee & Open Microscopy Environment. All Rights Reserved.