Added support for a config flag that allows the user to reuse the default dispatcher as the ExecutorService for the Netty Remote Pipeline (IO)

This commit is contained in:
Viktor Klang 2012-04-25 10:41:16 +02:00
parent 1f30be1f87
commit 45694c65f4
3 changed files with 9 additions and 3 deletions

View file

@ -92,6 +92,10 @@ akka {
# (I) Reuse inbound connections for outbound messages
use-passive-connections = on
# (I) If "on" then the default dispatcher will be used to accept inbound connections,
# and IO. If "off" then dedicated threads will be used.
use-default-dispatcher-for-io = off
# (I) The hostname or ip to bind the remoting to,
# InetAddress.getLocalHost.getHostAddress is used if empty
hostname = ""

View file

@ -26,9 +26,10 @@ class NettyRemoteServer(val netty: NettyRemoteTransport) {
val ip = InetAddress.getByName(settings.Hostname)
private val factory = new NioServerSocketChannelFactory(
Executors.newCachedThreadPool(netty.system.threadFactory),
Executors.newCachedThreadPool(netty.system.threadFactory))
private val factory = {
val boss, worker = if (settings.UseDefaultDispatcherForIO) netty.system.dispatcher else Executors.newCachedThreadPool()
new NioServerSocketChannelFactory(boss, worker)
}
private val executionHandler = new ExecutionHandler(netty.executor)

View file

@ -27,6 +27,7 @@ class NettySettings(config: Config, val systemName: String) {
}
val UsePassiveConnections = getBoolean("use-passive-connections")
val UseDefaultDispatcherForIO = getBoolean("use-default-dispatcher-for-io")
val ReconnectionTimeWindow = Duration(getMilliseconds("reconnection-time-window"), MILLISECONDS)
val ReadTimeout = Duration(getMilliseconds("read-timeout"), MILLISECONDS)