类 DefaultPublisher
- java.lang.Object
-
- java.lang.Thread
-
- com.alibaba.nacos.common.notify.DefaultPublisher
-
- 所有已实现的接口:
Closeable,EventPublisher,java.lang.Runnable
- 直接已知子类:
DefaultSharePublisher
public class DefaultPublisher extends java.lang.Thread implements EventPublisher
The default event publisher implementation.Internally, use
as a message staging queue.- 作者:
- liaochuntao, zongtanghu
-
-
字段概要
字段 修饰符和类型 字段 说明 private java.lang.Class<? extends Event>eventTypeprivate booleaninitializedprotected java.lang.LonglastEventSequenceprotected static org.slf4j.LoggerLOGGERprivate java.util.concurrent.BlockingQueue<Event>queueprivate intqueueMaxSizeprivate booleanshutdownprotected ConcurrentHashSet<Subscriber>subscribersprivate static java.util.concurrent.atomic.AtomicReferenceFieldUpdater<DefaultPublisher,java.lang.Long>UPDATER
-
构造器概要
构造器 构造器 说明 DefaultPublisher()
-
方法概要
所有方法 实例方法 具体方法 修饰符和类型 方法 说明 voidaddSubscriber(Subscriber subscriber)Add listener.(专用程序包) voidcheckIsStart()longcurrentEventSize()The number of currently staged events.ConcurrentHashSet<Subscriber>getSubscribers()private booleanhasSubscriber()voidinit(java.lang.Class<? extends Event> type, int bufferSize)Initializes the event publisher.booleanisInitialized()voidnotifySubscriber(Subscriber subscriber, Event event)Notify listener.(专用程序包) voidopenEventHandler()booleanpublish(Event event)publish event.(专用程序包) voidreceiveEvent(Event event)Receive and notifySubscriber to process the event.voidremoveSubscriber(Subscriber subscriber)Remove listener.voidrun()voidshutdown()Shutdown the Resources, such as Thread Pool.voidstart()-
从类继承的方法 java.lang.Thread
activeCount, checkAccess, clone, countStackFrames, currentThread, dumpStack, enumerate, getAllStackTraces, getContextClassLoader, getDefaultUncaughtExceptionHandler, getId, getName, getPriority, getStackTrace, getState, getThreadGroup, getUncaughtExceptionHandler, holdsLock, interrupt, interrupted, isAlive, isDaemon, isInterrupted, join, join, join, onSpinWait, resume, setContextClassLoader, setDaemon, setDefaultUncaughtExceptionHandler, setName, setPriority, setUncaughtExceptionHandler, sleep, sleep, stop, suspend, toString, yield
-
-
-
-
字段详细资料
-
LOGGER
protected static final org.slf4j.Logger LOGGER
-
initialized
private volatile boolean initialized
-
shutdown
private volatile boolean shutdown
-
eventType
private java.lang.Class<? extends Event> eventType
-
subscribers
protected final ConcurrentHashSet<Subscriber> subscribers
-
queueMaxSize
private int queueMaxSize
-
queue
private java.util.concurrent.BlockingQueue<Event> queue
-
lastEventSequence
protected volatile java.lang.Long lastEventSequence
-
UPDATER
private static final java.util.concurrent.atomic.AtomicReferenceFieldUpdater<DefaultPublisher,java.lang.Long> UPDATER
-
-
方法详细资料
-
init
public void init(java.lang.Class<? extends Event> type, int bufferSize)
从接口复制的说明:EventPublisherInitializes the event publisher.- 指定者:
init在接口中EventPublisher- 参数:
type->bufferSize- Message staging queue size
-
getSubscribers
public ConcurrentHashSet<Subscriber> getSubscribers()
-
start
public void start()
- 覆盖:
start在类中java.lang.Thread
-
currentEventSize
public long currentEventSize()
从接口复制的说明:EventPublisherThe number of currently staged events.- 指定者:
currentEventSize在接口中EventPublisher- 返回:
- event size
-
run
public void run()
- 指定者:
run在接口中java.lang.Runnable- 覆盖:
run在类中java.lang.Thread
-
openEventHandler
void openEventHandler()
-
hasSubscriber
private boolean hasSubscriber()
-
addSubscriber
public void addSubscriber(Subscriber subscriber)
从接口复制的说明:EventPublisherAdd listener.- 指定者:
addSubscriber在接口中EventPublisher- 参数:
subscriber-Subscriber
-
removeSubscriber
public void removeSubscriber(Subscriber subscriber)
从接口复制的说明:EventPublisherRemove listener.- 指定者:
removeSubscriber在接口中EventPublisher- 参数:
subscriber-Subscriber
-
publish
public boolean publish(Event event)
从接口复制的说明:EventPublisherpublish event.- 指定者:
publish在接口中EventPublisher- 参数:
event-Event- 返回:
- publish event is success
-
checkIsStart
void checkIsStart()
-
shutdown
public void shutdown()
从接口复制的说明:CloseableShutdown the Resources, such as Thread Pool.
-
isInitialized
public boolean isInitialized()
-
receiveEvent
void receiveEvent(Event event)
Receive and notifySubscriber to process the event.- 参数:
event-Event.
-
notifySubscriber
public void notifySubscriber(Subscriber subscriber, Event event)
从接口复制的说明:EventPublisherNotify listener.- 指定者:
notifySubscriber在接口中EventPublisher- 参数:
subscriber-Subscriberevent-Event
-
-