我有一个Scala(2.11.x),Play 2.5.10应用程序。在这个应用程序中,我有各种Akka actor,它们可以读写数据到数据库。我正在通过in the docs描述的生命周期停止钩子终止这些actor。对于其中一个参与者,在发送PoisonPill
以终止它之前,我想向它发送一条消息,以便最后写入数据库。但是,我收到一个异常,因为收到该消息时数据库连接已被终止(有时,这是一个竞争条件)。
有没有办法在Play中控制生命周期关闭挂钩执行顺序?
答案 0 :(得分:2)
在scaladoc中说:
当应用程序关闭时执行停止挂钩,与注册时相反。
所以,不是真的。
你或许可以完全从你的演员中处理它。这是一个如何在actor系统中协调关闭的指南。我不确定这与基于游戏的应用程序的集成程度如何:http://letitcrash.com/post/30165507578/shutdown-patterns-in-akka-2