@Named public final class DefaultWorkerService extends java.lang.Object implements org.springframework.context.SmartLifecycle, WorkerCommunication, WorkerService
Modifier and Type | Class and Description |
---|---|
private class |
DefaultWorkerService.DistributedMessageListener |
static class |
DefaultWorkerService.Event |
private static class |
DefaultWorkerService.ExceptionHandler |
static class |
DefaultWorkerService.State |
Modifier and Type | Field and Description |
---|---|
private org.springframework.context.ApplicationContext |
applicationContext |
private java.util.Set<CommunicationFacility> |
communicationFacilities |
private ComputationService |
computationService |
private ListeningScheduledExecutorService |
executorService |
private NodeIdentityService |
identityService |
private NodeLifecycleService |
lifecycleService |
private static org.slf4j.Logger |
logger |
private java.util.Map<WorkerMessage.Type,java.util.function.Consumer<java.io.Serializable>> |
messageHandlers |
private StateMachineService<DefaultWorkerService.State,DefaultWorkerService.Event> |
service |
private ITopic<WorkerMessage<java.io.Serializable>> |
topic |
private TopologyService |
topologyService |
private java.util.Map<WorkerMessage.Type,java.util.Set<CommunicationFacility>> |
workerMessageListeners |
Modifier | Constructor and Description |
---|---|
private |
DefaultWorkerService(NodeIdentityService identityService,
org.springframework.context.ApplicationContext applicationContext,
HazelcastInstance hazelcastInstance,
TopologyService topologyService,
EventBus eventBus,
NodeLifecycleService lifecycleService) |
Modifier and Type | Method and Description |
---|---|
int |
getPhase() |
void |
handleNodeDestroyedEvent(NodeDestroyedEvent event) |
private void |
internalStart(FSM<DefaultWorkerService.State,DefaultWorkerService.Event> fsm) |
boolean |
isAutoStartup() |
private boolean |
isEnvironmentReady() |
boolean |
isRunning() |
ListenableScheduledFuture<?> |
scheduleAtFixedRate(java.lang.Runnable command,
long initialDelay,
long period,
java.util.concurrent.TimeUnit unit) |
void |
sendMessage(WorkerMessage<java.io.Serializable> message)
Send a message to other worker services in the distributed environment.
|
void |
start() |
void |
stop() |
void |
stop(java.lang.Runnable callback) |
private void |
terminate(FSM<DefaultWorkerService.State,DefaultWorkerService.Event> fsm) |
private static final org.slf4j.Logger logger
private final ListeningScheduledExecutorService executorService
private final java.util.Map<WorkerMessage.Type,java.util.Set<CommunicationFacility>> workerMessageListeners
private final java.util.Set<CommunicationFacility> communicationFacilities
private final java.util.Map<WorkerMessage.Type,java.util.function.Consumer<java.io.Serializable>> messageHandlers
private final NodeIdentityService identityService
private final NodeLifecycleService lifecycleService
private final TopologyService topologyService
private final org.springframework.context.ApplicationContext applicationContext
private final ITopic<WorkerMessage<java.io.Serializable>> topic
private final StateMachineService<DefaultWorkerService.State,DefaultWorkerService.Event> service
private final ComputationService computationService
@Inject private DefaultWorkerService(NodeIdentityService identityService, org.springframework.context.ApplicationContext applicationContext, HazelcastInstance hazelcastInstance, TopologyService topologyService, EventBus eventBus, NodeLifecycleService lifecycleService)
public boolean isAutoStartup()
isAutoStartup
in interface org.springframework.context.SmartLifecycle
public void stop(java.lang.Runnable callback)
stop
in interface org.springframework.context.SmartLifecycle
public void start()
start
in interface org.springframework.context.Lifecycle
public void stop()
stop
in interface org.springframework.context.Lifecycle
public boolean isRunning()
isRunning
in interface org.springframework.context.Lifecycle
public int getPhase()
getPhase
in interface org.springframework.context.Phased
public void sendMessage(WorkerMessage<java.io.Serializable> message)
WorkerCommunication
Send a message to other worker services in the distributed environment.
sendMessage
in interface WorkerCommunication
message
- a message to send.public ListenableScheduledFuture<?> scheduleAtFixedRate(java.lang.Runnable command, long initialDelay, long period, java.util.concurrent.TimeUnit unit)
scheduleAtFixedRate
in interface WorkerCommunication
private void internalStart(FSM<DefaultWorkerService.State,DefaultWorkerService.Event> fsm)
private void terminate(FSM<DefaultWorkerService.State,DefaultWorkerService.Event> fsm)
private boolean isEnvironmentReady()
public void handleNodeDestroyedEvent(NodeDestroyedEvent event)