public final class TailChoppingRoutingLogic extends java.lang.Object implements RoutingLogic, scala.Product, scala.Serializable
interval and then send to a second, random picked, and so on till one full cycle.
param: scheduler schedules sending messages to routees
param: within expecting at least one reply within this duration, otherwise
it will reply with AskTimeoutException in a Status.Failure
param: interval duration after which next routee will be picked
param: context execution context used by scheduler
| Constructor and Description |
|---|
TailChoppingRoutingLogic(Scheduler scheduler,
scala.concurrent.duration.FiniteDuration within,
scala.concurrent.duration.FiniteDuration interval,
scala.concurrent.ExecutionContext context) |
| Modifier and Type | Method and Description |
|---|---|
scala.concurrent.ExecutionContext |
context() |
scala.concurrent.duration.FiniteDuration |
interval() |
Scheduler |
scheduler() |
Routee |
select(java.lang.Object message,
scala.collection.immutable.IndexedSeq<Routee> routees)
Pick the destination for a given message.
|
scala.concurrent.duration.FiniteDuration |
within() |
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, waitpublic TailChoppingRoutingLogic(Scheduler scheduler, scala.concurrent.duration.FiniteDuration within, scala.concurrent.duration.FiniteDuration interval, scala.concurrent.ExecutionContext context)
public Scheduler scheduler()
public scala.concurrent.duration.FiniteDuration within()
public scala.concurrent.duration.FiniteDuration interval()
public scala.concurrent.ExecutionContext context()
public Routee select(java.lang.Object message, scala.collection.immutable.IndexedSeq<Routee> routees)
RoutingLogicroutees, but in the end it is up to the implementation to
return whatever Routee to use for sending a specific message.
When implemented from Java it can be good to know that
routees.apply(index) can be used to get an element
from the IndexedSeq.
select in interface RoutingLogicmessage - (undocumented)routees - (undocumented)