我正在使用ReactiveMongo 0.11.14和Play 2.5.8。当我试图关闭reactivemongo时,我收到一堆关于死信的akka消息。丢失的消息似乎都与关闭有关。 (它们都是ChannelClosed类或ChannelDisconnected类。)
如何正确关闭reactivemongo以避免这些恼人的消息?
以下是我现在尝试这样做的方式:
for (connection <- reactiveMongoApi.driver.connections) {
//close them sequentially just to be extra safe
Await.ready(connection.askClose()(5.seconds), 5.seconds)
}
reactiveMongoApi.driver.close(5.seconds)
以下是我收到的死信消息的两个例子:
[INFO] [10/06/2016 15:14:07.387] [reactivemongo-akka.actor.default-dispatcher-7] [akka:// reactivemongo / user / Connection-2]消息[reactivemongo.core。从Actor [akka:// reactivemongo / deadLetters]到Actor [akka:// reactivemongo / user / Connection-2#1711870153]的actors.ChannelClosed]未送达。 [9]遇到死信。可以使用配置设置'akka.log-dead-letters'和'akka.log-dead-letters-during-shutdown'关闭或调整此日志记录。
[INFO] [10/06/2016 15:14:07.387] [reactivemongo-akka.actor.default-dispatcher-7] [akka:// reactivemongo / user / Connection-2]消息[reactivemongo.core。从Actor [akka:// reactivemongo / deadLetters]到Actor [akka:// reactivemongo / user / Connection-2#1711870153]的actors.ChannelDisconnected]未送达。 [10]遇到死信,不再记录死信。可以使用配置设置'akka.log-dead-letters'和'akka.log-dead-letters-during-shutdown'关闭或调整此日志记录。
我尝试在驱动程序之后关闭连接,完全跳过连接close(),并通过driver.system.terminate()而不是driver.close()启动关闭。