查找能否从配置中找到akka参与者地址?

查找能否从配置中找到akka参与者地址?,akka,Akka,当使用Akka 2.0时,是否有一种方法可以将ActorRef发送到远程参与者,但让我正在查找的参与者的地址来自配置,而不是通过编程指定它?例如,我想使用 AkkaSystem("mysystem").actorFor("akka://system@remotehost/user/whatever") 但我想通过更改我的 application.conf.您可以从ActorSystem中包含的Config对象中检索任意信息(或者您可以自己使用ConfigFactory解析外部源): val s

当使用Akka 2.0时,是否有一种方法可以将ActorRef发送到远程参与者,但让我正在查找的参与者的地址来自配置,而不是通过编程指定它?例如,我想使用

AkkaSystem("mysystem").actorFor("akka://system@remotehost/user/whatever")
但我想通过更改我的
application.conf.

您可以从
ActorSystem
中包含的
Config
对象中检索任意信息(或者您可以自己使用
ConfigFactory
解析外部源):

val system=AkkaSystem(“mysystem”)
val config=system.settings.config
val remotePath=config.getString(“我的config.serviceA”)
val ref=system.actor(远程路径)
以及在上述路径的配置中定义一些字符串。然后,您还可以使用配置库的功能拼凑路径(例如,计算出远程节点的地址等):

我的配置{
远程节点=”akka://sys@远程。节点:2134“
serviceA=${my config.remotenode}/service/A
}

您可以从
ActorSystem
中包含的
Config
对象中检索任意信息(或者您可以自己使用
ConfigFactory
解析外部源):

val system=AkkaSystem(“mysystem”)
val config=system.settings.config
val remotePath=config.getString(“我的config.serviceA”)
val ref=system.actor(远程路径)
以及在上述路径的配置中定义一些字符串。然后,您还可以使用配置库的功能拼凑路径(例如,计算出远程节点的地址等):

我的配置{
远程节点=”akka://sys@远程。节点:2134“
serviceA=${my config.remotenode}/service/A
}

您可以在配置中定义部署路径。
发件人:


您可以在配置中定义部署路径。
发件人:

akka {
  actor {
    deployment {
      /sampleActor {
        remote = "akka.tcp://sampleActorSystem@127.0.0.1:2553"
      }
    }
  }
}

ActorRef actor = system.actorOf(Props.create(SampleActor.class), "sampleActor");