Class CacheManagerNotifierImpl
- java.lang.Object
-
- org.infinispan.notifications.impl.AbstractListenerImpl<Event,ListenerInvocation<Event>>
-
- org.infinispan.notifications.cachemanagerlistener.CacheManagerNotifierImpl
-
- All Implemented Interfaces:
CacheManagerNotifier
,Listenable
public class CacheManagerNotifierImpl extends AbstractListenerImpl<Event,ListenerInvocation<Event>> implements CacheManagerNotifier
Global, shared notifications on the cache manager.- Since:
- 4.0
- Author:
- Manik Surtani
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description protected class
CacheManagerNotifierImpl.DefaultBuilder
-
Nested classes/interfaces inherited from class org.infinispan.notifications.impl.AbstractListenerImpl
AbstractListenerImpl.AbstractInvocationBuilder, AbstractListenerImpl.ListenerInvocationImpl<A>
-
-
Field Summary
-
Fields inherited from class org.infinispan.notifications.impl.AbstractListenerImpl
asyncProcessor, listenersMap
-
-
Constructor Summary
Constructors Constructor Description CacheManagerNotifierImpl()
-
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description CompletionStage<Void>
addListenerAsync(Object listener)
Asynchronous version ofListenable.addListener(Object)
protected Map<Class<? extends Annotation>,Class<?>>
getAllowedMethodAnnotations(Listener l)
protected org.infinispan.util.logging.Log
getLog()
protected void
handleException(Throwable t)
CompletionStage<Void>
notifyCacheStarted(String cacheName)
CompletionStage<Void>
notifyCacheStopped(String cacheName)
CompletionStage<Void>
notifyConfigurationChanged(ConfigurationChangedEvent.EventType eventType, String entityType, String entityName)
Notifies all registered listeners of a configurationChange event.CompletionStage<Void>
notifyMerge(List<Address> members, List<Address> oldMembers, Address myAddress, int viewId, List<List<Address>> subgroupsMerged)
CompletionStage<Void>
notifyViewChange(List<Address> members, List<Address> oldMembers, Address myAddress, int viewId)
Notifies all registered listeners of a viewChange event.CompletionStage<Void>
removeListenerAsync(Object listener)
Asynchronous version ofListenable.removeListener(Object)
protected void
resumeIfNeeded(javax.transaction.Transaction transaction)
void
start()
protected javax.transaction.Transaction
suspendIfNeeded()
-
Methods inherited from class org.infinispan.notifications.impl.AbstractListenerImpl
canApply, composeStageIfNeeded, findListenerCallbacks, getListenerCollectionForAnnotation, getListeners, hasListener, invokeListeners, removeListenerFromMaps, removeListenerInvocation, resumeOnCPU, stop, testListenerClassValidity, testListenerMethodValidity, validateAndAddFilterListenerInvocations, validateAndAddListenerInvocations
-
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
-
Methods inherited from interface org.infinispan.notifications.cachemanagerlistener.CacheManagerNotifier
hasListener
-
Methods inherited from interface org.infinispan.notifications.Listenable
addListener, getListeners, removeListener
-
-
-
-
Method Detail
-
notifyViewChange
public CompletionStage<Void> notifyViewChange(List<Address> members, List<Address> oldMembers, Address myAddress, int viewId)
Description copied from interface:CacheManagerNotifier
Notifies all registered listeners of a viewChange event. Note that viewChange notifications are ALWAYS sent immediately.- Specified by:
notifyViewChange
in interfaceCacheManagerNotifier
-
notifyMerge
public CompletionStage<Void> notifyMerge(List<Address> members, List<Address> oldMembers, Address myAddress, int viewId, List<List<Address>> subgroupsMerged)
- Specified by:
notifyMerge
in interfaceCacheManagerNotifier
-
notifyCacheStarted
public CompletionStage<Void> notifyCacheStarted(String cacheName)
- Specified by:
notifyCacheStarted
in interfaceCacheManagerNotifier
-
notifyCacheStopped
public CompletionStage<Void> notifyCacheStopped(String cacheName)
- Specified by:
notifyCacheStopped
in interfaceCacheManagerNotifier
-
notifyConfigurationChanged
public CompletionStage<Void> notifyConfigurationChanged(ConfigurationChangedEvent.EventType eventType, String entityType, String entityName)
Description copied from interface:CacheManagerNotifier
Notifies all registered listeners of a configurationChange event.- Specified by:
notifyConfigurationChanged
in interfaceCacheManagerNotifier
- Parameters:
eventType
- the type of event (CREATE or REMOVE)entityType
- the type of configuration that has changed (e.g. cache, counter, ...)entityName
- the name of the configuration item that has been changed- Returns:
- a
CompletionStage
which completes when the notification has been sent.
-
handleException
protected void handleException(Throwable t)
- Overrides:
handleException
in classAbstractListenerImpl<Event,ListenerInvocation<Event>>
-
addListenerAsync
public CompletionStage<Void> addListenerAsync(Object listener)
Description copied from interface:Listenable
Asynchronous version ofListenable.addListener(Object)
- Specified by:
addListenerAsync
in interfaceListenable
- Parameters:
listener
- listener to add, must not be null- Returns:
- CompletionStage that when complete the listener is fully installed
-
removeListenerAsync
public CompletionStage<Void> removeListenerAsync(Object listener)
Description copied from interface:Listenable
Asynchronous version ofListenable.removeListener(Object)
- Specified by:
removeListenerAsync
in interfaceListenable
- Specified by:
removeListenerAsync
in classAbstractListenerImpl<Event,ListenerInvocation<Event>>
- Parameters:
listener
- listener to remove, must not be null- Returns:
- CompletionStage that when complete the listener is fully removed
-
getLog
protected org.infinispan.util.logging.Log getLog()
- Specified by:
getLog
in classAbstractListenerImpl<Event,ListenerInvocation<Event>>
-
getAllowedMethodAnnotations
protected Map<Class<? extends Annotation>,Class<?>> getAllowedMethodAnnotations(Listener l)
- Specified by:
getAllowedMethodAnnotations
in classAbstractListenerImpl<Event,ListenerInvocation<Event>>
-
suspendIfNeeded
protected final javax.transaction.Transaction suspendIfNeeded()
- Specified by:
suspendIfNeeded
in classAbstractListenerImpl<Event,ListenerInvocation<Event>>
-
resumeIfNeeded
protected final void resumeIfNeeded(javax.transaction.Transaction transaction)
- Specified by:
resumeIfNeeded
in classAbstractListenerImpl<Event,ListenerInvocation<Event>>
-
start
public void start()
-
-