Class Dispatchers
- java.lang.Object
-
- akka.dispatch.Dispatchers
-
public class Dispatchers extends java.lang.Object
Dispatchers are to be defined in configuration to allow for tuning for different environments. Use thelookup
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
-
-
Constructor Summary
Constructors Constructor Description Dispatchers(ActorSystem.Settings settings, DispatcherPrerequisites prerequisites, LoggingAdapter logger)
-
Method Summary
All Methods Static Methods Instance Methods Concrete Methods Modifier and Type Method Description CachingConfig
cachingConfig()
com.typesafe.config.Config
config(java.lang.String id)
INTERNAL APIcom.typesafe.config.Config
config(java.lang.String id, com.typesafe.config.Config appConfig)
INTERNAL APIstatic java.lang.String
DefaultBlockingDispatcherId()
The id of a default dispatcher to use for operations known to be blocking.com.typesafe.config.Config
defaultDispatcherConfig()
static java.lang.String
DefaultDispatcherId()
The id of the default dispatcher, also the full key of the configuration of the default dispatcher.MessageDispatcher
defaultGlobalDispatcher()
The one and only default dispatcher.MessageDispatcher
from(com.typesafe.config.Config cfg)
INTERNAL APIstatic com.typesafe.config.Config
getConfig(com.typesafe.config.Config config, java.lang.String id, int depth)
INTERNAL APIstatic int
getConfig$default$3()
boolean
hasDispatcher(java.lang.String id)
Checks that the configuration provides a section for the given dispatcher.MessageDispatcher
internalDispatcher()
INTERNAL APIstatic java.lang.String
InternalDispatcherId()
INTERNAL APIMessageDispatcher
lookup(java.lang.String id)
Returns a dispatcher as specified in configuration.DispatcherPrerequisites
prerequisites()
boolean
registerConfigurator(java.lang.String id, MessageDispatcherConfigurator configurator)
Register aMessageDispatcherConfigurator
that will be used bylookup(java.lang.String)
andhasDispatcher(java.lang.String)
instead of looking up the configurator from the system configuration.ActorSystem.Settings
settings()
-
-
-
Constructor Detail
-
Dispatchers
public Dispatchers(ActorSystem.Settings settings, DispatcherPrerequisites prerequisites, LoggingAdapter logger)
-
-
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 APIGet (possibly aliased) dispatcher config. Returns empty config if not found.
-
getConfig$default$3
public static int getConfig$default$3()
-
settings
public ActorSystem.Settings settings()
-
prerequisites
public DispatcherPrerequisites prerequisites()
-
cachingConfig
public CachingConfig cachingConfig()
-
defaultDispatcherConfig
public com.typesafe.config.Config defaultDispatcherConfig()
-
defaultGlobalDispatcher
public MessageDispatcher defaultGlobalDispatcher()
The one and only default dispatcher.
-
internalDispatcher
public MessageDispatcher internalDispatcher()
INTERNAL API
-
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 theMessageDispatcherConfigurator
/ 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 aMessageDispatcherConfigurator
that will be used bylookup(java.lang.String)
andhasDispatcher(java.lang.String)
instead of looking up the configurator from the system configuration. This enables dynamic addition of dispatchers, as used by theBalancingPool
.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 APICreates 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
-
-