Package org.hcjf.cloud.impl.network
Class CloudOrchestrator
- java.lang.Object
-
- org.hcjf.service.Service<NetworkComponent>
-
- org.hcjf.cloud.impl.network.CloudOrchestrator
-
public final class CloudOrchestrator extends Service<NetworkComponent>
This class implements a orchestrator in order to maintains the connection between nodes, synchronize all the time the node information and admin the communication between nodes using messages.- Author:
- javaito.
-
-
Nested Class Summary
Nested Classes Modifier and Type Class Description static classCloudOrchestrator.SystemCloudNodeReadableImplementationstatic classCloudOrchestrator.SystemCloudServiceReadableImplementation-
Nested classes/interfaces inherited from class org.hcjf.service.Service
Service.RunnableWrapperComparator, Service.ShutdownStage, Service.StaticServiceThread, Service.ThreadPoolAgent, Service.ThreadPoolAgentMBean
-
-
Field Summary
Fields Modifier and Type Field Description static CloudOrchestratorinstance-
Fields inherited from class org.hcjf.service.Service
SERVICE_LOG_TAG
-
-
Method Summary
Modifier and Type Method Description voiddispatchEvent(DistributedEvent event)static CloudOrchestratorgetInstance()java.lang.StringgetRegexFromDistributedLayer(java.lang.Object... path)voidhidePath(java.lang.Object... path)voidincomingMessage(CloudSession session, Message message)protected voidinit()This method will be called immediately after of the execution of the service's constructor method<O> OinvokeNode(java.lang.Object... path)booleanisDistributedLayerPublished(java.lang.Object... path)<O> OlayerInvoke(java.lang.Object[] parameters, java.lang.reflect.Method method, java.lang.Object... path)voidlock(java.lang.Object... path)voidpublishDistributedLayer(java.lang.String regex, java.lang.Object... path)voidpublishMe()voidpublishObject(java.lang.Object object, java.lang.Long timestamp, java.lang.Object... path)voidpublishPath(java.lang.Object... path)voidpublishPlugin(byte[] jarFile)voidregisterConsumer(NetworkComponent networkComponent)Register a new component into the cluster.voidsignal(java.lang.String lockName, java.lang.String conditionName)voidsignalAll(java.lang.String lockName, java.lang.String conditionName)voidunlock(java.lang.Object... path)voidunregisterConsumer(NetworkComponent networkComponent)Unregister a specific consumer.booleanverifyLabels(java.util.Map<java.lang.String,java.lang.String> expectedLabels, java.util.Map<java.lang.String,java.lang.String> labels)-
Methods inherited from class org.hcjf.service.Service
call, call, fork, fork, fork, fork, getPriority, getServiceName, run, run, shutdown, shutdownExecutor, systemShutdown
-
-
-
-
Field Detail
-
instance
public static final CloudOrchestrator instance
-
-
Method Detail
-
getInstance
public static CloudOrchestrator getInstance()
-
init
protected void init()
Description copied from class:ServiceThis method will be called immediately after of the execution of the service's constructor method- Overrides:
initin classService<NetworkComponent>
-
verifyLabels
public boolean verifyLabels(java.util.Map<java.lang.String,java.lang.String> expectedLabels, java.util.Map<java.lang.String,java.lang.String> labels)- Parameters:
expectedLabels-labels-- Returns:
-
registerConsumer
public void registerConsumer(NetworkComponent networkComponent)
Register a new component into the cluster.- Specified by:
registerConsumerin classService<NetworkComponent>- Parameters:
networkComponent- Network component to add.
-
publishMe
public final void publishMe()
-
unregisterConsumer
public void unregisterConsumer(NetworkComponent networkComponent)
Description copied from class:ServiceUnregister a specific consumer.- Specified by:
unregisterConsumerin classService<NetworkComponent>- Parameters:
networkComponent- Consumer to unregister.
-
incomingMessage
public void incomingMessage(CloudSession session, Message message)
-
lock
public void lock(java.lang.Object... path)
-
unlock
public void unlock(java.lang.Object... path)
-
signal
public void signal(java.lang.String lockName, java.lang.String conditionName)
-
signalAll
public void signalAll(java.lang.String lockName, java.lang.String conditionName)
-
dispatchEvent
public void dispatchEvent(DistributedEvent event)
-
isDistributedLayerPublished
public boolean isDistributedLayerPublished(java.lang.Object... path)
-
getRegexFromDistributedLayer
public java.lang.String getRegexFromDistributedLayer(java.lang.Object... path)
-
publishDistributedLayer
public void publishDistributedLayer(java.lang.String regex, java.lang.Object... path)
-
publishPlugin
public void publishPlugin(byte[] jarFile)
-
layerInvoke
public <O> O layerInvoke(java.lang.Object[] parameters, java.lang.reflect.Method method, java.lang.Object... path)
-
publishPath
public void publishPath(java.lang.Object... path)
-
publishObject
public void publishObject(java.lang.Object object, java.lang.Long timestamp, java.lang.Object... path)
-
hidePath
public void hidePath(java.lang.Object... path)
-
invokeNode
public <O> O invokeNode(java.lang.Object... path)
-
-