Package akka.dispatch

Class Dispatchers


  • public class Dispatchers
    extends java.lang.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 akka.actor.default-dispatcher section of the reference.conf for documentation of dispatcher options.

    Not for user instantiation or extension

    • Method Detail

      • DefaultDispatcherId

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

        public static final java.lang.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.
      • InternalDispatcherId

        public static final java.lang.String InternalDispatcherId()
        INTERNAL API
      • getConfig

        public static com.typesafe.config.Config getConfig​(com.typesafe.config.Config config,
                                                           java.lang.String id,
                                                           int depth)
        INTERNAL API

        Get (possibly aliased) dispatcher config. Returns empty config if not found.

      • getConfig$default$3

        public static int getConfig$default$3()
      • defaultDispatcherConfig

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

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

        public MessageDispatcher lookup​(java.lang.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​(java.lang.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​(java.lang.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 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.

      • config

        public com.typesafe.config.Config config​(java.lang.String id)
        INTERNAL API
      • config

        public com.typesafe.config.Config config​(java.lang.String id,
                                                 com.typesafe.config.Config appConfig)
        INTERNAL API
      • from

        public MessageDispatcher from​(com.typesafe.config.Config cfg)
        INTERNAL API

        Creates a dispatcher from a Config. Internal test purpose only.

        ex: from(config.getConfig(id))

        The Config must also contain a id property, which is the identifier of the dispatcher.

        Throws: IllegalArgumentException if the value of "type" is not valid IllegalArgumentException if it cannot create the MessageDispatcherConfigurator