类 NotifyCenter
- java.lang.Object
-
- com.alibaba.nacos.common.notify.NotifyCenter
-
public class NotifyCenter extends java.lang.ObjectUnified Event Notify Center.- 作者:
- liaochuntao, zongtanghu
-
-
字段概要
字段 修饰符和类型 字段 说明 private static java.lang.Class<? extends EventPublisher>clazzprivate static java.util.concurrent.atomic.AtomicBooleanCLOSEDprivate static EventPublisherFactoryDEFAULT_PUBLISHER_FACTORYprivate static NotifyCenterINSTANCEprivate static org.slf4j.LoggerLOGGERprivate java.util.Map<java.lang.String,EventPublisher>publisherMapPublisher management container.static intringBufferSizestatic intshareBufferSizeprivate DefaultSharePublishersharePublisher
-
构造器概要
构造器 构造器 说明 NotifyCenter()
-
方法概要
所有方法 静态方法 具体方法 修饰符和类型 方法 说明 private static voidaddSubscriber(Subscriber consumer, java.lang.Class<? extends Event> subscribeType, EventPublisherFactory factory)Add a subscriber to publisher.static voidderegisterPublisher(java.lang.Class<? extends Event> eventType)Deregister publisher.static voidderegisterSubscriber(Subscriber consumer)Deregister subscriber.static EventPublishergetPublisher(java.lang.Class<? extends Event> topic)static java.util.Map<java.lang.String,EventPublisher>getPublisherMap()static EventPublishergetSharePublisher()static booleanpublishEvent(Event event)Request publisher publish event Publishers load lazily, calling publisher.private static booleanpublishEvent(java.lang.Class<? extends Event> eventType, Event event)Request publisher publish event Publishers load lazily, calling publisher.static voidregisterSubscriber(Subscriber consumer)Register a Subscriber.static voidregisterSubscriber(Subscriber consumer, EventPublisherFactory factory)Register a Subscriber.static EventPublisherregisterToPublisher(java.lang.Class<? extends Event> eventType, int queueMaxSize)Register publisher with default factory.static voidregisterToPublisher(java.lang.Class<? extends Event> eventType, EventPublisher publisher)Register publisher.static EventPublisherregisterToPublisher(java.lang.Class<? extends Event> eventType, EventPublisherFactory factory, int queueMaxSize)Register publisher with specified factory.static EventPublisherregisterToSharePublisher(java.lang.Class<? extends SlowEvent> eventType)Register to share-publisher.private static booleanremoveSubscriber(Subscriber consumer, java.lang.Class<? extends Event> subscribeType)Remove subscriber.static voidshutdown()Shutdown the several publisher instance which notify center has.
-
-
-
字段详细资料
-
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
-
DEFAULT_PUBLISHER_FACTORY
private static final EventPublisherFactory DEFAULT_PUBLISHER_FACTORY
-
INSTANCE
private static final NotifyCenter INSTANCE
-
sharePublisher
private DefaultSharePublisher sharePublisher
-
clazz
private static java.lang.Class<? extends EventPublisher> clazz
-
publisherMap
private final java.util.Map<java.lang.String,EventPublisher> publisherMap
Publisher management container.
-
-
方法详细资料
-
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- subscriberfactory- 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.
-
-