我有以下actor层次结构:
receiver
负责处理HTTP请求。当请求到来时,这个actor会创建一个子actor coordinator
(实际上是一个动态名称)。
coordinator
完成工作后,执行Context.Stop(Self)
。
这可以优雅地阻止所有孩子,但随后我在控制台中收到以下消息:
[INFO] [23.05.2016 08:48:45] [Thread 0013] [akka:// FSharpSystem / user / receiver / $ b]来自akka:// FSharpSystem / user / receiver / $ b的消息DeathWatchNotification akka:// FSharpSystem / user / receiver / $ b未送达。遇到1封死信。
[INFO] [23.05.2016 08:48:45] [Thread 0013] [akka:// FSharpSystem / user / receiver / $ b]来自akka:// FSharpSystem / user / receiver / $ b的消息DeathWatchNotification akka:// FSharpSystem / user / receiver / $ b未送达。遇到2封死信。
[INFO] [23.05.2016 08:48:45] [Thread 0013] [akka:// FSharpSystem / user / receiver / $ b]来自akka:// FSharpSystem / user / receiver / $ b的消息DeathWatchNotification akka:// FSharpSystem / user / receiver / $ b未送达。遇到3封死信。
看起来所有三个演员都向DeathWatchNotification
发送coordinator
($ b是其动态名称)。我没有订阅此通知,也不想在日志中看到它。如何禁用此行为(最好是在F#中)?
P.S。这是Gist with the sample code。