У меня есть клиент Java, который получает автогенерированный порт. После запуска системы актеров я хочу получить доступ к порту.Akka Remote: получить автогенерированный порт
Config clientConfig = ConfigFactory.parseString("akka.remote.netty.tcp.port = 0")
.withFallback(ConfigFactory.parseString("akka.remote.netty.tcp.hostname = " + serverHostName))
.withFallback(ConfigFactory.load("common"));
actorSystem = ActorSystem.create("clientActorSystem", clientConfig);
// how to access the generated port here..!?
Порт должен быть уже установлен, так как выход журнала после ActorSystem.create(...)
как то:
[INFO] [03/31/2016 14:11:32.042] [main] [akka.remote.Remoting] Starting remoting
[INFO] [03/31/2016 14:11:32.233] [main] [akka.remote.Remoting] Remoting started; listening on addresses :[akka.tcp://[email protected]:58735]
[INFO] [03/31/2016 14:11:32.234] [main] [akka.remote.Remoting] Remoting now listens on addresses: [akka.tcp://[email protected]:58735]
Если я пытаюсь получить его с помощью конфигурации с actorSystem.settings().config().getValue("akka.remote.netty.tcp.port")
, я все еще получаю 0, как определено ранее.
Есть ли у кого-нибудь представление о том, как можно использовать этот порт (58735 в примере)?
Спасибо Дэнни! Это тоже работало на Java :-) – oustriem