Class Dispatchers

java.lang.Object
org.apache.pekko.dispatch.Dispatchers

public class Dispatchers extends Object
Dispatchers are to be defined in configuration to allow for tuning for different environments. Use the lookup method to create a dispatcher as specified in configuration.

A dispatcher config can also be an alias, in that case it is a config string value pointing to the actual dispatcher config.

Look in pekko.actor.default-dispatcher section of the reference.conf for documentation of dispatcher options.

Not for user instantiation or extension

  • Method Details

    • DefaultDispatcherId

      public static final String DefaultDispatcherId()
      The id of the default dispatcher, also the full key of the configuration of the default dispatcher.
    • DefaultBlockingDispatcherId

      public static final String DefaultBlockingDispatcherId()
      The id of a default dispatcher to use for operations known to be blocking. Note that for optimal performance you will want to isolate different blocking resources on different thread pools.
    • settings

      public ActorSystem.Settings settings()
    • prerequisites

      public DispatcherPrerequisites prerequisites()
    • cachingConfig

      public org.apache.pekko.dispatch.CachingConfig cachingConfig()
    • defaultDispatcherConfig

      public com.typesafe.config.Config defaultDispatcherConfig()
    • defaultGlobalDispatcher

      public MessageDispatcher defaultGlobalDispatcher()
      The one and only default dispatcher.
    • lookup

      public MessageDispatcher lookup(String id)
      Returns a dispatcher as specified in configuration. Please note that this method _may_ create and return a NEW dispatcher, _every_ call (depending on the MessageDispatcherConfigurator / dispatcher config the id points to).

      A dispatcher id can also be an alias. In the case it is a string value in the config it is treated as the id of the actual dispatcher config to use. If several ids leading to the same actual dispatcher config is used only one instance is created. This means that for dispatchers you expect to be shared they will be.

      Throws ConfigurationException if the specified dispatcher cannot be found in the configuration.

    • hasDispatcher

      public boolean hasDispatcher(String id)
      Checks that the configuration provides a section for the given dispatcher. This does not guarantee that no ConfigurationException will be thrown when using this dispatcher, because the details can only be checked by trying to instantiate it, which might be undesirable when just checking.
    • registerConfigurator

      public boolean registerConfigurator(String id, MessageDispatcherConfigurator configurator)
      Register a MessageDispatcherConfigurator that will be used by lookup(java.lang.String) and hasDispatcher(java.lang.String) instead of looking up the configurator from the system configuration. This enables dynamic addition of dispatchers, as used by the pekko.routing.BalancingPool.

      A configurator for a certain id can only be registered once, i.e. it can not be replaced. It is safe to call this method multiple times, but only the first registration will be used. This method returns true if the specified configurator was successfully registered.