Scala 路由器';的邮件未传递给发件人
我正在做一个项目,这个项目是作为集群运行的,它是使用akka scala API实现的。我的应用程序主要有4个参与者。它们是客户机、调度程序、工作分发程序和工作人员 我的application.conf如下所示Scala 路由器';的邮件未传递给发件人,scala,akka,Scala,Akka,我正在做一个项目,这个项目是作为集群运行的,它是使用akka scala API实现的。我的应用程序主要有4个参与者。它们是客户机、调度程序、工作分发程序和工作人员 我的application.conf如下所示 cluster { seed-nodes = [ "akka.tcp://application@<IP>:2553" ] roles = ["frontend", "dispatcher", "backend", "frontRouter", "disp
cluster {
seed-nodes = [
"akka.tcp://application@<IP>:2553"
]
roles = ["frontend", "dispatcher", "backend", "frontRouter", "dispRouter", "backRouter"]
auto-down = on
}
actor.deployment {
lifecycle = on
/client/router {
router = round-robin-group
nr-of-instances = 1
routees.paths = [
"/user/workDispatcher/router"
]
cluster {
allow-local-routees = on
enabled = on
use-role = "frontRouter"
}
}
/workDispatcher/router {
router = round-robin-group
nr-of-instances = 1
routees.paths = [
"/user/workDistributor/router"
]
cluster {
allow-local-routees = on
enabled = on
use-role = "dispRouter"
}
}
/workDistributor/router {
router = round-robin-pool
nr-of-instances = 1
cluster {
enabled = on
allow-local-routees = on
use-role = "backRouter"
}
}
}
集群{
种子节点=[
“阿卡。tcp://application@:2553"
]
角色=[“前端”、“调度程序”、“后端”、“前端路由器”、“反证器”、“后端路由器”]
自动关闭=打开
}
参与者部署{
生命周期=开启
/客户端/路由器{
路由器=循环组
实例数=1
routees.path=[
“/user/workDispatcher/router”
]
簇{
允许本地路由=打开
启用=打开
使用role=“frontRouter”
}
}
/workDispatcher/路由器{
路由器=循环组
实例数=1
routees.path=[
“/user/workDistributor/router”
]
簇{
允许本地路由=打开
启用=打开
使用role=“disputer”
}
}
/工作分发器/路由器{
路由器=循环池
实例数=1
簇{
启用=打开
允许本地路由=打开
使用role=“backRouter”
}
}
}
工作人员已通过路由器成功接收到来自客户端的工作,但问题是工作人员在完成作业后发送的消息未发送到客户端。我向客户端发送消息的代码是“sender()!JobComplete”。此消息未传递到客户端
此外,Dispatcher和WorkDistributor是中间参与者
如果您能告诉我如何解决这个问题,我将不胜感激
感谢并问候这太愚蠢了,无法回答,但我有一个类似的循环池设置,我的工作线程用
发送者回复!命令
-无括号。如果这不起作用,请将代码发布到获取路由器和调度器的actorRef的位置。消息传递流已成功使用“循环池”。但它不与“循环小组”合作。我曾使用“system.actorOf(Props(classOf[WorkDispatcher]),“WorkDispatcher”)”创建调度器,并使用“val router=context.actorOf(Props(classOf[Adder]).withRouter(FromConfig()),name=“router”)”在WorkDistributor内部创建路由器。我有一个理论,但我需要更多地了解您的工作者参与者。您是否可以发布工作参与者的代码(他们的接收方法和您为响应工作请求而调用的过程)?