diff --git a/akka-actor/src/main/scala/akka/dispatch/Dispatchers.scala b/akka-actor/src/main/scala/akka/dispatch/Dispatchers.scala index 942bd25a65..6450d82f19 100644 --- a/akka-actor/src/main/scala/akka/dispatch/Dispatchers.scala +++ b/akka-actor/src/main/scala/akka/dispatch/Dispatchers.scala @@ -190,7 +190,7 @@ class BalancingDispatcherConfigurator(config: Config, prerequisites: DispatcherP config.getInt("throughput"), Duration(config.getNanoseconds("throughput-deadline-time"), TimeUnit.NANOSECONDS), mailboxType, - threadPoolConfig, + threadPoolConfig.copy(corePoolSize = 1, maxPoolSize = 1), Duration(config.getMilliseconds("shutdown-timeout"), TimeUnit.MILLISECONDS))).build /** @@ -209,8 +209,9 @@ class PinnedDispatcherConfigurator(config: Config, prerequisites: DispatcherPrer /** * Creates new dispatcher for each invocation. */ - override def dispatcher(): MessageDispatcher = - new PinnedDispatcher(prerequisites, null, config.getString("name"), config.getString("id"), mailboxType, - Duration(config.getMilliseconds("shutdown-timeout"), TimeUnit.MILLISECONDS)) + override def dispatcher(): MessageDispatcher = configureThreadPool(config, + threadPoolConfig ⇒ + new PinnedDispatcher(prerequisites, null, config.getString("name"), config.getString("id"), mailboxType, + Duration(config.getMilliseconds("shutdown-timeout"), TimeUnit.MILLISECONDS), threadPoolConfig)).build } diff --git a/akka-actor/src/main/scala/akka/dispatch/PinnedDispatcher.scala b/akka-actor/src/main/scala/akka/dispatch/PinnedDispatcher.scala index 8c1cc6dd9e..afb6ed55c4 100644 --- a/akka-actor/src/main/scala/akka/dispatch/PinnedDispatcher.scala +++ b/akka-actor/src/main/scala/akka/dispatch/PinnedDispatcher.scala @@ -24,14 +24,15 @@ class PinnedDispatcher( _name: String, _id: String, _mailboxType: MailboxType, - _shutdownTimeout: Duration) + _shutdownTimeout: Duration, + _threadPoolConfig: ThreadPoolConfig = ThreadPoolConfig(allowCorePoolTimeout = true, corePoolSize = 1, maxPoolSize = 1)) extends Dispatcher(_prerequisites, _name, _id, Int.MaxValue, Duration.Zero, _mailboxType, - ThreadPoolConfig(allowCorePoolTimeout = true, corePoolSize = 1, maxPoolSize = 1), + _threadPoolConfig, _shutdownTimeout) { @volatile