类 NotifyCenter


  • public class NotifyCenter
    extends java.lang.Object
    Unified Event Notify Center.
    作者:
    liaochuntao, zongtanghu
    • 字段详细资料

      • LOGGER

        private static final org.slf4j.Logger LOGGER
      • ringBufferSize

        public static int ringBufferSize
      • shareBufferSize

        public static int shareBufferSize
      • CLOSED

        private static final java.util.concurrent.atomic.AtomicBoolean CLOSED
      • clazz

        private static java.lang.Class<? extends EventPublisher> clazz
      • publisherMap

        private final java.util.Map<java.lang.String,​EventPublisher> publisherMap
        Publisher management container.
    • 构造器详细资料

      • NotifyCenter

        public NotifyCenter()
    • 方法详细资料

      • getPublisherMap

        public static java.util.Map<java.lang.String,​EventPublisher> getPublisherMap()
      • getPublisher

        public static EventPublisher getPublisher​(java.lang.Class<? extends Event> topic)
      • getSharePublisher

        public static EventPublisher getSharePublisher()
      • shutdown

        public static void shutdown()
        Shutdown the several publisher instance which notify center has.
      • registerSubscriber

        public static void registerSubscriber​(Subscriber consumer)
        Register a Subscriber. If the Publisher concerned by the Subscriber does not exist, then PublihserMap will preempt a placeholder Publisher with default EventPublisherFactory first.
        参数:
        consumer - subscriber
      • registerSubscriber

        public static void registerSubscriber​(Subscriber consumer,
                                              EventPublisherFactory factory)
        Register a Subscriber. If the Publisher concerned by the Subscriber does not exist, then PublihserMap will preempt a placeholder Publisher with specified EventPublisherFactory first.
        参数:
        consumer - subscriber
        factory - publisher factory.
      • addSubscriber

        private static void addSubscriber​(Subscriber consumer,
                                          java.lang.Class<? extends Event> subscribeType,
                                          EventPublisherFactory factory)
        Add a subscriber to publisher.
        参数:
        consumer - subscriber instance.
        subscribeType - subscribeType.
        factory - publisher factory.
      • deregisterSubscriber

        public static void deregisterSubscriber​(Subscriber consumer)
        Deregister subscriber.
        参数:
        consumer - subscriber instance.
      • removeSubscriber

        private static boolean removeSubscriber​(Subscriber consumer,
                                                java.lang.Class<? extends Event> subscribeType)
        Remove subscriber.
        参数:
        consumer - subscriber instance.
        subscribeType - subscribeType.
        返回:
        whether remove subscriber successfully or not.
      • publishEvent

        public static boolean publishEvent​(Event event)
        Request publisher publish event Publishers load lazily, calling publisher. Start () only when the event is actually published.
        参数:
        event - class Instances of the event.
      • publishEvent

        private static boolean publishEvent​(java.lang.Class<? extends Event> eventType,
                                            Event event)
        Request publisher publish event Publishers load lazily, calling publisher.
        参数:
        eventType - class Instances type of the event type.
        event - event instance.
      • registerToSharePublisher

        public static EventPublisher registerToSharePublisher​(java.lang.Class<? extends SlowEvent> eventType)
        Register to share-publisher.
        参数:
        eventType - class Instances type of the event type.
        返回:
        share publisher instance.
      • registerToPublisher

        public static EventPublisher registerToPublisher​(java.lang.Class<? extends Event> eventType,
                                                         int queueMaxSize)
        Register publisher with default factory.
        参数:
        eventType - class Instances type of the event type.
        queueMaxSize - the publisher's queue max size.
      • registerToPublisher

        public static EventPublisher registerToPublisher​(java.lang.Class<? extends Event> eventType,
                                                         EventPublisherFactory factory,
                                                         int queueMaxSize)
        Register publisher with specified factory.
        参数:
        eventType - class Instances type of the event type.
        factory - publisher factory.
        queueMaxSize - the publisher's queue max size.
      • registerToPublisher

        public static void registerToPublisher​(java.lang.Class<? extends Event> eventType,
                                               EventPublisher publisher)
        Register publisher.
        参数:
        eventType - class Instances type of the event type.
        publisher - the specified event publisher
      • deregisterPublisher

        public static void deregisterPublisher​(java.lang.Class<? extends Event> eventType)
        Deregister publisher.
        参数:
        eventType - class Instances type of the event type.