public abstract class MessageEmitter extends Object
Modifier and Type | Field and Description |
---|---|
protected AgentSessionManager |
agentSessionManager |
protected ScheduledExecutorCompletionService<org.apache.ambari.server.events.MessageEmitter.EmitTaskWrapper> |
emitCompletionService |
protected ScheduledExecutorService |
emitExecutor |
protected static AtomicLong |
MESSAGE_ID |
protected ConcurrentHashMap<Long,BlockingQueue<org.apache.ambari.server.events.MessageEmitter.EmitTaskWrapper>> |
messagesToEmit |
protected ExecutorService |
monitorExecutor |
int |
retryCount |
protected ExecutorService |
retryExecutor |
int |
retryInterval |
protected org.springframework.messaging.simp.SimpMessagingTemplate |
simpMessagingTemplate |
protected ConcurrentHashMap<Long,org.apache.ambari.server.events.MessageEmitter.EmitTaskWrapper> |
unconfirmedMessages |
Constructor and Description |
---|
MessageEmitter(AgentSessionManager agentSessionManager,
org.springframework.messaging.simp.SimpMessagingTemplate simpMessagingTemplate,
AmbariEventPublisher ambariEventPublisher,
int retryCount,
int retryInterval) |
Modifier and Type | Method and Description |
---|---|
protected org.springframework.messaging.MessageHeaders |
createHeaders(String sessionId)
Creates STOMP message header.
|
protected org.springframework.messaging.MessageHeaders |
createHeaders(String sessionId,
Long messageId)
Creates STOMP message header.
|
protected void |
emitExecutionCommandToHost(org.apache.ambari.server.events.MessageEmitter.EmitTaskWrapper eventWrapper)
Emit execution command to specified host only.
|
void |
emitMessageRetriable(ExecutionCommandEvent event) |
protected void |
emitMessageToAll(STOMPEvent event)
Emits message to all subscribers.
|
protected void |
emitMessageToHost(STOMPHostEvent event)
Emit message to specified host only.
|
protected abstract String |
getDestination(STOMPEvent stompEvent) |
void |
onHostRegister(HostRegisteredEvent hostRegisteredEvent) |
void |
processReceiveReport(Long hostId,
AckReport ackReport) |
protected static final AtomicLong MESSAGE_ID
public final int retryCount
public final int retryInterval
protected final AgentSessionManager agentSessionManager
protected final org.springframework.messaging.simp.SimpMessagingTemplate simpMessagingTemplate
protected final ScheduledExecutorService emitExecutor
protected final ExecutorService monitorExecutor
protected final ExecutorService retryExecutor
protected final ScheduledExecutorCompletionService<org.apache.ambari.server.events.MessageEmitter.EmitTaskWrapper> emitCompletionService
protected ConcurrentHashMap<Long,org.apache.ambari.server.events.MessageEmitter.EmitTaskWrapper> unconfirmedMessages
protected ConcurrentHashMap<Long,BlockingQueue<org.apache.ambari.server.events.MessageEmitter.EmitTaskWrapper>> messagesToEmit
public MessageEmitter(AgentSessionManager agentSessionManager, org.springframework.messaging.simp.SimpMessagingTemplate simpMessagingTemplate, AmbariEventPublisher ambariEventPublisher, int retryCount, int retryInterval)
public void emitMessageRetriable(ExecutionCommandEvent event)
protected abstract String getDestination(STOMPEvent stompEvent)
protected org.springframework.messaging.MessageHeaders createHeaders(String sessionId)
sessionId
- protected org.springframework.messaging.MessageHeaders createHeaders(String sessionId, Long messageId)
sessionId
- protected void emitMessageToAll(STOMPEvent event)
event
- message should to be emitted.protected void emitMessageToHost(STOMPHostEvent event) throws HostNotRegisteredException
event
- message should to be emitted.HostNotRegisteredException
- in case host is not registered.protected void emitExecutionCommandToHost(org.apache.ambari.server.events.MessageEmitter.EmitTaskWrapper eventWrapper) throws HostNotRegisteredException
eventWrapper
- message should to be emitted.HostNotRegisteredException
- in case host is not registered.public void onHostRegister(HostRegisteredEvent hostRegisteredEvent)
Copyright © 2022 Apache Software Foundation. All rights reserved.