diff --git a/akka-remote/src/main/scala/akka/remote/netty/NettyRemoteSupport.scala b/akka-remote/src/main/scala/akka/remote/netty/NettyRemoteSupport.scala index 5e3c989fd5..5c506abfc8 100644 --- a/akka-remote/src/main/scala/akka/remote/netty/NettyRemoteSupport.scala +++ b/akka-remote/src/main/scala/akka/remote/netty/NettyRemoteSupport.scala @@ -40,10 +40,13 @@ private[akka] class NettyRemoteTransport(_system: ExtendedActorSystem, _provider // TODO replace by system.scheduler val timer: HashedWheelTimer = new HashedWheelTimer(system.threadFactory) - // TODO make configurable/shareable with server socket factory - val clientChannelFactory = new NioClientSocketChannelFactory( - Executors.newCachedThreadPool(system.threadFactory), - Executors.newCachedThreadPool(system.threadFactory)) + val clientChannelFactory = settings.UseDispatcherForIO match { + case Some(id) ⇒ + val d = system.dispatchers.lookup(id) + new NioClientSocketChannelFactory(d, d) + case None ⇒ + new NioClientSocketChannelFactory(Executors.newCachedThreadPool(), Executors.newCachedThreadPool()) + } /** * Backing scaffolding for the default implementation of NettyRemoteSupport.createPipeline.