Class CacheManagerNotifierImpl

  • All Implemented Interfaces:
    CacheManagerNotifier, Listenable

    public class CacheManagerNotifierImpl
    extends org.infinispan.notifications.impl.AbstractListenerImpl<Event,​org.infinispan.notifications.impl.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

        org.infinispan.notifications.impl.AbstractListenerImpl.AbstractInvocationBuilder, org.infinispan.notifications.impl.AbstractListenerImpl.ListenerInvocationImpl<A>
    • Field Summary

      • Fields inherited from class org.infinispan.notifications.impl.AbstractListenerImpl

        asyncProcessor, listenersMap
    • Method Summary

      All Methods Instance Methods Concrete Methods 
      Modifier and Type Method Description
      java.util.concurrent.CompletionStage<java.lang.Void> addListenerAsync​(java.lang.Object listener)
      Asynchronous version of Listenable.addListener(Object)
      protected java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,​java.lang.Class<?>> getAllowedMethodAnnotations​(Listener l)  
      protected org.infinispan.util.logging.Log getLog()  
      java.util.concurrent.CompletionStage<java.lang.Void> notifyCacheStarted​(java.lang.String cacheName)  
      java.util.concurrent.CompletionStage<java.lang.Void> notifyCacheStopped​(java.lang.String cacheName)  
      java.util.concurrent.CompletionStage<java.lang.Void> notifyMerge​(java.util.List<Address> members, java.util.List<Address> oldMembers, Address myAddress, int viewId, java.util.List<java.util.List<Address>> subgroupsMerged)  
      java.util.concurrent.CompletionStage<java.lang.Void> notifyViewChange​(java.util.List<Address> members, java.util.List<Address> oldMembers, Address myAddress, int viewId)
      Notifies all registered listeners of a viewChange event.
      java.util.concurrent.CompletionStage<java.lang.Void> removeListenerAsync​(java.lang.Object listener)
      Asynchronous version of Listenable.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, 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
    • Constructor Detail

      • CacheManagerNotifierImpl

        public CacheManagerNotifierImpl()
    • Method Detail

      • notifyViewChange

        public java.util.concurrent.CompletionStage<java.lang.Void> notifyViewChange​(java.util.List<Address> members,
                                                                                     java.util.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 interface CacheManagerNotifier
      • notifyMerge

        public java.util.concurrent.CompletionStage<java.lang.Void> notifyMerge​(java.util.List<Address> members,
                                                                                java.util.List<Address> oldMembers,
                                                                                Address myAddress,
                                                                                int viewId,
                                                                                java.util.List<java.util.List<Address>> subgroupsMerged)
        Specified by:
        notifyMerge in interface CacheManagerNotifier
      • notifyCacheStarted

        public java.util.concurrent.CompletionStage<java.lang.Void> notifyCacheStarted​(java.lang.String cacheName)
        Specified by:
        notifyCacheStarted in interface CacheManagerNotifier
      • notifyCacheStopped

        public java.util.concurrent.CompletionStage<java.lang.Void> notifyCacheStopped​(java.lang.String cacheName)
        Specified by:
        notifyCacheStopped in interface CacheManagerNotifier
      • addListenerAsync

        public java.util.concurrent.CompletionStage<java.lang.Void> addListenerAsync​(java.lang.Object listener)
        Description copied from interface: Listenable
        Asynchronous version of Listenable.addListener(Object)
        Specified by:
        addListenerAsync in interface Listenable
        Parameters:
        listener - listener to add, must not be null
        Returns:
        CompletionStage that when complete the listener is fully installed
      • removeListenerAsync

        public java.util.concurrent.CompletionStage<java.lang.Void> removeListenerAsync​(java.lang.Object listener)
        Description copied from interface: Listenable
        Asynchronous version of Listenable.removeListener(Object)
        Specified by:
        removeListenerAsync in interface Listenable
        Specified by:
        removeListenerAsync in class org.infinispan.notifications.impl.AbstractListenerImpl<Event,​org.infinispan.notifications.impl.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 class org.infinispan.notifications.impl.AbstractListenerImpl<Event,​org.infinispan.notifications.impl.ListenerInvocation<Event>>
      • getAllowedMethodAnnotations

        protected java.util.Map<java.lang.Class<? extends java.lang.annotation.Annotation>,​java.lang.Class<?>> getAllowedMethodAnnotations​(Listener l)
        Specified by:
        getAllowedMethodAnnotations in class org.infinispan.notifications.impl.AbstractListenerImpl<Event,​org.infinispan.notifications.impl.ListenerInvocation<Event>>
      • suspendIfNeeded

        protected final javax.transaction.Transaction suspendIfNeeded()
        Specified by:
        suspendIfNeeded in class org.infinispan.notifications.impl.AbstractListenerImpl<Event,​org.infinispan.notifications.impl.ListenerInvocation<Event>>
      • resumeIfNeeded

        protected final void resumeIfNeeded​(javax.transaction.Transaction transaction)
        Specified by:
        resumeIfNeeded in class org.infinispan.notifications.impl.AbstractListenerImpl<Event,​org.infinispan.notifications.impl.ListenerInvocation<Event>>
      • start

        public void start()