【发布时间】:2019-11-08 20:09:46
【问题描述】:
我对“Akka Classic”演员进行了测试,正在测试持久性。
逻辑很简单:
- 创建一个actor并发送一堆事件。
- 根据测试使用 akka.actor.Kill 或 akka.actor.PoisonKill 停止 actor。
- 再次启动actor并测试它是否已正确恢复。
我正在将其迁移到 AKKA 2.6 和“AKKA Typed”,但 Kill 和 PoisonKill 不可用。
来自文档:
Typed 不支持 PoisonPill。相反,如果您需要请求 要停止的演员,您应该定义一个消息,该演员 理解并让它在收到时返回 Behaviors.stopped 消息。
但 PoisonPill 行为很容易通过 TestKit.stop 实用程序重现。
但是杀死怎么样?它会抛出一个 ActorKilledException ,该异常将为主管进行管理。在 Akka Typed 中怎么做?
所以问题是:如何使用“AKKA Typed”来实现这个测试?
【问题讨论】:
标签: akka akka-persistence akka-typed