【发布时间】:2019-06-09 20:48:25
【问题描述】:
我正在尝试构建一个基于代理的模型,其中模型的一部分涉及代理广播决策。首先,我用一个跟踪父级精确地初始化了四个演员,然后我让他们每个人都以特定的顺序“宣布”他们的决定。
我希望每个兄弟在每次声明其决定时更新其参数,但是当我运行下面显示的代码时,我会收到有关遇到死信的日志。我如何确保所有参与者按顺序运行,接收来自兄弟姐妹的所有声明,并且在他们收到声明自己的消息之前不会终止?
主要方法:
import Member._
val system: ActorSystem = ActorSystem("Abilene0")
try {
val groupMembers = Set("father", "mother", "wife", "husband")
val group: ActorRef = system.actorOf(Group.props(groupMembers), "group")
val father = system.actorOf(Member.props(group, generate(groupMembers)), "father")
val mother = system.actorOf(Member.props(group, generate(groupMembers)), "mother")
val wife = system.actorOf(Member.props(group, generate(groupMembers)), "wife")
val husband = system.actorOf(Member.props(group, generate(groupMembers)), "husband")
father ! Declare
wife ! Declare
husband ! Declare
mother ! Declare
} finally {
system.terminate()
}
【问题讨论】:
-
你可以在这里粘贴死信日志行吗?
标签: scala akka agent-based-modeling