Pergunta

I have the following class that creates an actor system and supplies the configuration as a string in code. However, I get the exception that netty could not be started on the default host and port - when I supplied different values to the configs

class RemoteActorSystemCreator extends ActorSystemCreator {

    def create(name: String, hostName: String, port: String) = {

        val string: Config = ConfigFactory.parseString(
            s"""akka {
                        actor {
                            provider = "akka.remote.RemoteActorRefProvider"
                        }
                        remote {
                            enabled-transports = ["akka.remote.netty.tcp"]
                            netty.tcp {
                                hostname = "$hostName"
                                port = $port
                            }
                        }
                }"""
        )
        ActorSystem.create(name, ConfigFactory.load(string))
    }
}

org.jboss.netty.channel.ChannelException: Failed to bind to: /127.0.1.1:2552
    at org.jboss.netty.bootstrap.ServerBootstrap.bind(ServerBootstrap.java:298)
    at akka.remote.netty.NettyRemoteServer.start(Server.scala:51)
    at akka.remote.netty.NettyRemoteTransport.start(NettyRemoteSupport.scala:181)
org.jboss.netty.channel.ChannelException: Failed to bind to: /127.0.1.1:2552
Foi útil?

Solução

You are using Akka version 2.1.x, but the configuration is in 2.2 format. For 2.1.4 the configuration property for the port is akka.remote.netty.port.

Licenciado em: CC-BY-SA com atribuição
Não afiliado a StackOverflow
scroll top