我在管理监督方面遇到了问题.
假设我有演员A创建演员B并向他发送消息.
val B = context.actorOf(Props[B],"B")
B ! RandomMessage(param1, param2)
Run Code Online (Sandbox Code Playgroud)
B这样做计算或询问远程服务.基本上它可能会因Exception而失败.
override val supervisorStrategy = OneForOneStrategy(loggingEnabled = false) {
case exception:NetworkException => {
Restart
// here I don't have access to param1 and param2 to send message again
}
Run Code Online (Sandbox Code Playgroud)
}
它运行正常,因为重启了子actor,但是如果我想重试这个失败的消息怎么办呢.我怎样才能做到这一点 ?