Package org.apereo.cas.ticket.registry
Class HazelcastTicketRegistry
java.lang.Object
org.apereo.cas.ticket.registry.AbstractTicketRegistry
org.apereo.cas.ticket.registry.HazelcastTicketRegistry
- All Implemented Interfaces:
AutoCloseable,org.apereo.cas.ticket.registry.TicketRegistry,org.springframework.beans.factory.DisposableBean
@Monitorable
public class HazelcastTicketRegistry
extends org.apereo.cas.ticket.registry.AbstractTicketRegistry
implements AutoCloseable, org.springframework.beans.factory.DisposableBean
Hazelcast-based implementation of a
TicketRegistry.
This implementation just wraps the Hazelcast's IMap
which is an extension of the standard Java's ConcurrentMap.
The heavy lifting of distributed data partitioning, network cluster discovery and join, data replication, etc. is done by Hazelcast's Map implementation.
- Since:
- 4.1.0
-
Field Summary
Fields inherited from interface org.apereo.cas.ticket.registry.TicketRegistry
BEAN_NAME -
Constructor Summary
ConstructorsConstructorDescriptionHazelcastTicketRegistry(org.apereo.cas.util.crypto.CipherExecutor cipherExecutor, org.apereo.cas.ticket.serialization.TicketSerializationManager ticketSerializationManager, org.apereo.cas.ticket.TicketCatalog ticketCatalog, com.hazelcast.core.HazelcastInstance hazelcastInstance, org.apereo.cas.configuration.model.support.hazelcast.HazelcastTicketRegistryProperties properties) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddTicketInternal(org.apereo.cas.ticket.Ticket ticket) voidclose()longcountSessionsFor(String principalId) longlongdeleteSingleTicket(org.apereo.cas.ticket.Ticket ticketToDelete) voiddestroy()Stream<? extends org.apereo.cas.ticket.Ticket> getSessionsFor(String principalId) Stream<? extends org.apereo.cas.ticket.Ticket> getSessionsWithAttributes(Map<String, List<Object>> queryAttributes) org.apereo.cas.ticket.TicketCollection<? extends org.apereo.cas.ticket.Ticket> voidshutdown()Make sure we shutdown HazelCast when the context is destroyed.org.apereo.cas.ticket.TicketupdateTicket(org.apereo.cas.ticket.Ticket ticket) Methods inherited from class org.apereo.cas.ticket.registry.AbstractTicketRegistry
addTicket, deleteTicket, deleteTicket, digestIdentifier, getTicket, getTicket, serviceTicketCount, sessionCount, setCipherExecutorMethods inherited from class java.lang.Object
equals, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitMethods inherited from interface org.apereo.cas.ticket.registry.TicketRegistry
addTicket, getTickets, stream
-
Constructor Details
-
HazelcastTicketRegistry
public HazelcastTicketRegistry(org.apereo.cas.util.crypto.CipherExecutor cipherExecutor, org.apereo.cas.ticket.serialization.TicketSerializationManager ticketSerializationManager, org.apereo.cas.ticket.TicketCatalog ticketCatalog, com.hazelcast.core.HazelcastInstance hazelcastInstance, org.apereo.cas.configuration.model.support.hazelcast.HazelcastTicketRegistryProperties properties)
-
-
Method Details
-
updateTicket
public org.apereo.cas.ticket.Ticket updateTicket(org.apereo.cas.ticket.Ticket ticket) throws Exception - Specified by:
updateTicketin interfaceorg.apereo.cas.ticket.registry.TicketRegistry- Throws:
Exception
-
addTicketInternal
- Throws:
Exception
-
getTicket
public org.apereo.cas.ticket.Ticket getTicket(String ticketId, Predicate<org.apereo.cas.ticket.Ticket> predicate) - Specified by:
getTicketin interfaceorg.apereo.cas.ticket.registry.TicketRegistry
-
deleteSingleTicket
public long deleteSingleTicket(org.apereo.cas.ticket.Ticket ticketToDelete) - Specified by:
deleteSingleTicketin classorg.apereo.cas.ticket.registry.AbstractTicketRegistry
-
deleteAll
public long deleteAll()- Specified by:
deleteAllin interfaceorg.apereo.cas.ticket.registry.TicketRegistry
-
getTickets
- Specified by:
getTicketsin interfaceorg.apereo.cas.ticket.registry.TicketRegistry
-
countSessionsFor
- Specified by:
countSessionsForin interfaceorg.apereo.cas.ticket.registry.TicketRegistry- Overrides:
countSessionsForin classorg.apereo.cas.ticket.registry.AbstractTicketRegistry
-
getSessionsWithAttributes
public Stream<? extends org.apereo.cas.ticket.Ticket> getSessionsWithAttributes(Map<String, List<Object>> queryAttributes) - Specified by:
getSessionsWithAttributesin interfaceorg.apereo.cas.ticket.registry.TicketRegistry- Overrides:
getSessionsWithAttributesin classorg.apereo.cas.ticket.registry.AbstractTicketRegistry
-
getSessionsFor
- Specified by:
getSessionsForin interfaceorg.apereo.cas.ticket.registry.TicketRegistry
-
shutdown
public void shutdown()Make sure we shutdown HazelCast when the context is destroyed. -
destroy
public void destroy()- Specified by:
destroyin interfaceorg.springframework.beans.factory.DisposableBean
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-