【问题标题】:Akka Client actor connecting to Server actor systemAkka 客户端 actor 连接到服务器 actor 系统
【发布时间】:2018-03-09 18:23:39
【问题描述】:
我有服务器actor在后台运行。服务器actor的基本操作是获取一个键值对。一旦它收到这对,它将它存储在一个地图中,并在被要求时返回它。
现在,我有一个客户演员。我想使用actorSelection() 方法连接到服务器actor。但我对它所采用的参数感到困惑。谁能帮我理解它需要什么参数?
服务器端:-
演员系统:actorSystem
服务器 Actor:akkademy-db
客户端:-
演员系统:LocalSystem
【问题讨论】:
标签:
java
akka
akka-remote-actor
akka-remoting
【解决方案1】:
你没有提到你的场景来自Learning Akka一书。如书中所述,客户端可以通过以下方式获取服务器的ActorSelection:
ActorSelection remoteDb = system.actorSelection("akka.tcp://akkademy@" + remoteAddress + "/user/akkademy-db")
documentation 描述的路径模板如下:
akka.<protocol>://<actor system name>@<hostname>:<port>/<actor path>
使用模板,下面是到服务器的ActorSelection 路径的细分:
"akka.tcp://akkademy@" + remoteAddress + "/user/akkademy-db"
// tcp --> protocol
// akkademy --> actor system name
// remoteAddress --> hostname:port
// /user/akkademy-db --> actor path
阅读文档了解更多信息。