Class CacheServiceProviderRegistrar<T>
java.lang.Object
org.wildfly.clustering.server.infinispan.provider.CacheServiceProviderRegistrar<T>
- Type Parameters:
T- the service identifier type
- All Implemented Interfaces:
AutoCloseable,CacheContainerServiceProviderRegistrar<T>,ServiceProviderRegistrar<T,,CacheContainerGroupMember> Registrar<T>
public class CacheServiceProviderRegistrar<T>
extends Object
implements CacheContainerServiceProviderRegistrar<T>, AutoCloseable
Infinispan
Cache based ServiceProviderRegistrar.
This factory can create multiple ServiceProviderRegistration instances, all of which share the same Cache instance.- Author:
- Paul Ferraro
-
Constructor Summary
ConstructorsConstructorDescription -
Method Summary
Modifier and TypeMethodDescriptionvoidclose()created(org.infinispan.notifications.cachelistener.event.CacheEntryCreatedEvent<T, Set<org.infinispan.remoting.transport.Address>> event) getGroup()Returns the group with which to register service providers.getProviders(T service) Returns the set of group members that can provide the specified service.Returns the complete list of services known to this registry.modified(org.infinispan.notifications.cachelistener.event.CacheEntryModifiedEvent<T, Set<org.infinispan.remoting.transport.Address>> event) Registers the local group member as a provider of the specified service.register(T service, ServiceProviderListener<CacheContainerGroupMember> listener) Registers the local group member as a provider of the specified service, using the specified listener.topologyChanged(org.infinispan.notifications.cachelistener.event.TopologyChangedEvent<T, Set<org.infinispan.remoting.transport.Address>> event)
-
Constructor Details
-
CacheServiceProviderRegistrar
-
-
Method Details
-
close
public void close()- Specified by:
closein interfaceAutoCloseable
-
getGroup
Description copied from interface:ServiceProviderRegistrarReturns the group with which to register service providers.- Specified by:
getGroupin interfaceCacheContainerServiceProviderRegistrar<T>- Specified by:
getGroupin interfaceServiceProviderRegistrar<T,CacheContainerGroupMember> - Returns:
- a group
-
register
Description copied from interface:ServiceProviderRegistrarRegisters the local group member as a provider of the specified service.- Specified by:
registerin interfaceRegistrar<T>- Specified by:
registerin interfaceServiceProviderRegistrar<T,CacheContainerGroupMember> - Parameters:
service- a service to register- Returns:
- a new service provider registration
-
register
public ServiceProviderRegistration<T,CacheContainerGroupMember> register(T service, ServiceProviderListener<CacheContainerGroupMember> listener) Description copied from interface:ServiceProviderRegistrarRegisters the local group member as a provider of the specified service, using the specified listener.- Specified by:
registerin interfaceServiceProviderRegistrar<T,CacheContainerGroupMember> - Parameters:
service- a service to registerlistener- a registry listener- Returns:
- a new service provider registration
-
getProviders
Description copied from interface:ServiceProviderRegistrarReturns the set of group members that can provide the specified service.- Specified by:
getProvidersin interfaceServiceProviderRegistrar<T,CacheContainerGroupMember> - Parameters:
service- a service for which to obtain providers- Returns:
- a set of group members providing the specified service
-
getServices
Description copied from interface:ServiceProviderRegistrarReturns the complete list of services known to this registry.- Specified by:
getServicesin interfaceServiceProviderRegistrar<T,CacheContainerGroupMember> - Returns:
- a set of services
-
topologyChanged
public CompletionStage<Void> topologyChanged(org.infinispan.notifications.cachelistener.event.TopologyChangedEvent<T, Set<org.infinispan.remoting.transport.Address>> event) -
created
public CompletionStage<Void> created(org.infinispan.notifications.cachelistener.event.CacheEntryCreatedEvent<T, Set<org.infinispan.remoting.transport.Address>> event) -
modified
public CompletionStage<Void> modified(org.infinispan.notifications.cachelistener.event.CacheEntryModifiedEvent<T, Set<org.infinispan.remoting.transport.Address>> event)
-