Package org.teamapps.cluster.service
Class TeamAppsCluster
java.lang.Object
java.lang.Thread
org.teamapps.cluster.service.TeamAppsCluster
- All Implemented Interfaces:
java.lang.Runnable,FileProvider,ClusterNodeMessageHandler,ServiceRegistry
public class TeamAppsCluster extends java.lang.Thread implements ClusterNodeMessageHandler, FileProvider, ServiceRegistry
-
Nested Class Summary
Nested classes/interfaces inherited from class java.lang.Thread
java.lang.Thread.State, java.lang.Thread.UncaughtExceptionHandler -
Field Summary
Fields inherited from class java.lang.Thread
MAX_PRIORITY, MIN_PRIORITY, NORM_PRIORITY -
Constructor Summary
Constructors Constructor Description TeamAppsCluster(java.lang.String clusterSecret, int localPort, NodeAddress... knownNodes)TeamAppsCluster(java.lang.String clusterSecret, java.lang.String localNodeId, java.util.function.Consumer<NodeAddress> onNodeConnectionListener, int localPort, java.io.File tempDir, NodeAddress... knownNodes)TeamAppsCluster(java.lang.String clusterSecret, java.lang.String localNodeId, java.util.function.Consumer<NodeAddress> onNodeConnectionListener, int localPort, NodeAddress... knownNodes) -
Method Summary
Modifier and Type Method Description byte[]createInitMessage()<REQUEST extends Message, RESPONSE extends Message>
reactor.core.publisher.Mono<RESPONSE>createServiceTask(java.lang.String serviceName, java.lang.String method, REQUEST request, MessageDecoder<RESPONSE> responseDecoder)ClusterTopiccreateTopic(java.lang.String topicName, java.util.function.Consumer<ClusterTopicMessage> messageConsumer)java.io.FilegetFile(java.lang.String fileId)byte[]getKeepAliveMessage()RemoteClusterNodegetRandomServiceProvider(java.lang.String serviceName)voidhandleMessage(RemoteClusterNode clusterNode, byte[] bytes)booleanisServiceAvailable(java.lang.String serviceName)voidregisterService(AbstractClusterService clusterService)voidrun()voidshutDown()Methods inherited from class 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, start, stop, suspend, toString, yieldMethods inherited from class java.lang.Object
equals, finalize, getClass, hashCode, notify, notifyAll, wait, wait, wait
-
Constructor Details
-
TeamAppsCluster
-
TeamAppsCluster
public TeamAppsCluster(java.lang.String clusterSecret, java.lang.String localNodeId, java.util.function.Consumer<NodeAddress> onNodeConnectionListener, int localPort, NodeAddress... knownNodes) -
TeamAppsCluster
public TeamAppsCluster(java.lang.String clusterSecret, java.lang.String localNodeId, java.util.function.Consumer<NodeAddress> onNodeConnectionListener, int localPort, java.io.File tempDir, NodeAddress... knownNodes)
-
-
Method Details
-
createTopic
public ClusterTopic createTopic(java.lang.String topicName, java.util.function.Consumer<ClusterTopicMessage> messageConsumer) -
shutDown
public void shutDown() -
registerService
- Specified by:
registerServicein interfaceServiceRegistry
-
isServiceAvailable
public boolean isServiceAvailable(java.lang.String serviceName)- Specified by:
isServiceAvailablein interfaceServiceRegistry
-
getRandomServiceProvider
-
run
public void run()- Specified by:
runin interfacejava.lang.Runnable- Overrides:
runin classjava.lang.Thread
-
handleMessage
- Specified by:
handleMessagein interfaceClusterNodeMessageHandler
-
createServiceTask
public <REQUEST extends Message, RESPONSE extends Message> reactor.core.publisher.Mono<RESPONSE> createServiceTask(java.lang.String serviceName, java.lang.String method, REQUEST request, MessageDecoder<RESPONSE> responseDecoder)- Specified by:
createServiceTaskin interfaceServiceRegistry
-
createInitMessage
public byte[] createInitMessage()- Specified by:
createInitMessagein interfaceClusterNodeMessageHandler
-
getKeepAliveMessage
public byte[] getKeepAliveMessage()- Specified by:
getKeepAliveMessagein interfaceClusterNodeMessageHandler
-
getFile
public java.io.File getFile(java.lang.String fileId)- Specified by:
getFilein interfaceFileProvider
-