Package org.nustaq.kontraktor.routers
Class HotHotFailoverKrouter<T extends HotHotFailoverKrouter>
java.lang.Object
org.nustaq.kontraktor.Actors
org.nustaq.kontraktor.Actor<T>
org.nustaq.kontraktor.routers.AbstractKrouter<T>
org.nustaq.kontraktor.routers.HotHotFailoverKrouter<T>
- Type Parameters:
T-
- All Implemented Interfaces:
java.io.Serializable,java.util.concurrent.Executor,Monitorable,RemotedActor,ServingActor
public class HotHotFailoverKrouter<T extends HotHotFailoverKrouter> extends AbstractKrouter<T>
HotHot failover Router
forwards incoming messages to all registered service actors. The one replying first
is picked and results are routed back to client. For callback's/streaming (multiple results), the one sending first
response is picked.
- See Also:
- Serialized Form
-
Nested Class Summary
-
Field Summary
Fields inherited from class org.nustaq.kontraktor.routers.AbstractKrouter
CLIENT_PING_INTERVAL_MS, clients, lastSwitch, nextAliveRemoteActors, SERVICE_UNAVAILABLE, timeoutMapFields inherited from class org.nustaq.kontraktor.Actor
__cbQueue, __clientConnection, __connections, __currentDispatcher, __mailbox, __mailboxCapacity, __mbCapacity, __publishTarget, __remoteId, __scheduler, __self, __stopped, __ticketMachine, connection, sender, userData, zzRoutingGCEnabled, zzServerMsgCallbackFields inherited from class org.nustaq.kontraktor.Actors
CONT, DEFAULT_TIMOUT, defaultScheduler, delayedCalls, exec, instance, MAX_EXTERNAL_THREADS_POOL_SIZE, version -
Constructor Summary
Constructors Constructor Description HotHotFailoverKrouter() -
Method Summary
Modifier and Type Method Description protected voiddispatchImpl(RemoteCallEntry rce, ConnectionRegistry clientRemoteRegistry, boolean[] done, Callback[] selected)protected booleandispatchRemoteCall(RemoteCallEntry rce, ConnectionRegistry clientRemoteRegistry)dispatch call to a service.protected java.util.List<Actor>getServices()voidinit()voidrouter$handleServiceDisconnect(Actor x)IPromiserouter$RegisterService(Actor remoteRef, boolean stateful)Methods inherited from class org.nustaq.kontraktor.routers.AbstractKrouter
__dispatchRemoteCall, checkPingOnClients, clientConnected, clientDisconnected, createErrorPromiseResponse, forwardCall, forwardCallInternal, forwardMultiCall, forwardMultiCallInternal, getClientPingTimeout, getServicePingTimeout, handleServiceDiscon, hasBeenUnpublished, isStateful, pingServices, router$clientPing, sendFailoverNotification, sendFailoverNotificationInternalMethods inherited from class org.nustaq.kontraktor.Actor
__addDeadLetter, __addRemoteConnection, __addStopHandler, __enqueueCall, __getCachedMethod, __removeRemoteConnection, __stop, __stopImpl, __submit, ask, askMsg, asyncstop, checkThread, close, closeCurrentClient, current, cyclic, debounce, delayed, execInThreadPool, execute, getActor, getActorRef, getCallbackSize, getConnections, getCurrentDispatcher, getFactory, getMailboxSize, getQSizes, getReport, getScheduler, getSubMonitorables, getUntypedRef, hasStopped, inside, inThread, isCallbackQPressured, isEmpty, isMailboxPressured, isProxy, isPublished, isRemote, isStopped, ping, self, serialOn, setServerMsgCallback, stop, stopSafeClose, tell, tellMsg, unpublish, zzkrouterLostClient, zzRoutingRefGCMethods inherited from class org.nustaq.kontraktor.Actors
AddDeadLetter, all, all, all, allMapped, AsActor, AsActor, AsActor, AsActor, AsUntypedActor, awaitAll, awaitAll, awaitAll, awaitAll, complete, complete, DeadLetters, flow, InThread, isComplete, isCont, isError, isErrorOrComplete, isResult, isTimeout, kYield, kYield, promise, race, race, reject, resolve, resolve, stream, SubmitDelayed, yieldCallbacks
-
Constructor Details
-
HotHotFailoverKrouter
public HotHotFailoverKrouter()
-
-
Method Details
-
init
public void init()- Overrides:
initin classAbstractKrouter<T extends HotHotFailoverKrouter>
-
router$RegisterService
- Overrides:
router$RegisterServicein classAbstractKrouter<T extends HotHotFailoverKrouter>
-
router$handleServiceDisconnect
- Specified by:
router$handleServiceDisconnectin classAbstractKrouter<T extends HotHotFailoverKrouter>
-
getServices
- Specified by:
getServicesin classAbstractKrouter<T extends HotHotFailoverKrouter>
-
dispatchRemoteCall
Description copied from class:AbstractKrouterdispatch call to a service. (use forwardXX to send)- Specified by:
dispatchRemoteCallin classAbstractKrouter<T extends HotHotFailoverKrouter>- Returns:
- return false in case call could not be dispatched
-
dispatchImpl
protected void dispatchImpl(RemoteCallEntry rce, ConnectionRegistry clientRemoteRegistry, boolean[] done, Callback[] selected)
-