Interface Pool

All Superinterfaces:
RouterConfig, Serializable
All Known Subinterfaces:
PoolOverrideUnsetConfig<T>
All Known Implementing Classes:
AdaptiveLoadBalancingPool, BalancingPool, BroadcastPool, ClusterRouterPool, ConsistentHashingPool, FromConfig, FromConfig$, PoolBase, RandomPool, RemoteRouterConfig, RoundRobinPool, ScatterGatherFirstCompletedPool, SmallestMailboxPool, TailChoppingPool

public interface Pool extends RouterConfig
RouterConfig for router actor that creates routees as child actors and removes them from the router if they terminate.
  • Method Details

    • nrOfInstances

      int nrOfInstances(ActorSystem sys)
      Initial number of routee instances
    • usePoolDispatcher

      boolean usePoolDispatcher()
      Use a dedicated dispatcher for the routees of the pool. The dispatcher is defined in 'pool-dispatcher' configuration property in the deployment section of the router.
    • newRoutee

      Routee newRoutee(Props routeeProps, ActorContext context)
      INTERNAL API
    • enrichWithPoolDispatcher

      Props enrichWithPoolDispatcher(Props routeeProps, ActorContext context)
      INTERNAL API
    • resizer

      scala.Option<Resizer> resizer()
      Pool with dynamically resizable number of routees return the pekko.routing.Resizer to use. The resizer is invoked once when the router is created, before any messages can be sent to it. Resize is also triggered when messages are sent to the routees, and the resizer is invoked asynchronously, i.e. not necessarily before the message has been sent.
    • supervisorStrategy

      SupervisorStrategy supervisorStrategy()
      SupervisorStrategy for the head actor, i.e. for supervising the routees of the pool.
    • props

      Props props(Props routeeProps)
      pekko.actor.Props for a pool router based on the settings defined by this instance and the supplied pekko.actor.Props for the routees created by the router.
    • stopRouterWhenAllRouteesRemoved

      boolean stopRouterWhenAllRouteesRemoved()
      Specify that this router should stop itself when all routees have terminated (been removed). By Default it is true, unless a resizer is used.
      Specified by:
      stopRouterWhenAllRouteesRemoved in interface RouterConfig
    • createRouterActor

      org.apache.pekko.routing.RouterActor createRouterActor()
      INTERNAL API
      Specified by:
      createRouterActor in interface RouterConfig