CustomExecutionContext
play.api.libs.concurrent.CustomExecutionContext
abstract class CustomExecutionContext(system: ActorSystem, name: String) extends ExecutionContextExecutor
This class defines a custom execution context that delegates to an pekko.actor.ActorSystem.
It is very useful for situations in which the default execution context should not be used, for example if a database or blocking I/O is being used.
To define a custom context, subclass CustomExecutionContext with the dispatcher name:
@Singleton
class DatabaseExecutionContext @Inject()(system: ActorSystem)
extends CustomExecutionContext(system, "database-dispatcher")
and then bind it in dependency injection:
bind[DatabaseExecutionContext].to(classOf[DatabaseExecutionContext]).asEagerSingleton()
Then have the execution context passed in as an implicit parameter:
class DatabaseService @Inject()(implicit executionContext: DatabaseExecutionContext) {
...
}
Value parameters
- name
-
the full path of the dispatcher name in Typesafe Config.
- system
-
the actor system
Attributes
- See also
- Graph
-
- Supertypes
-
trait ExecutionContextExecutortrait Executortrait ExecutionContextclass Objecttrait Matchableclass Any
Members list
In this article