我正在测试Akka,我在application.conf中有这个配置。
akka.actor.deployment {
/OperationManagerActor/StatusCheckerActor {
router = smallest-mailbox-pool
resizer {
lower-bound = 1
upper-bound = 10
messages-per-resize = 1
}
}
}
我得到以下例外。
2015-05-15 10:55:06 INFO RoutedActorRef:74 - Message [akka.routing.ResizablePoolActor$Resize$] from Actor[akka://GroupOperation/user/OperationManagerActor/$b/StatusCheckerActor#444638645] to Actor[akka://GroupOperation/user/OperationManagerActor/$b/StatusCheckerActor#444638645] was not delivered. [1] dead letters encountered.
This logging can be turned off or adjusted with configuration settings 'akka.log-dead-letters' and 'akka.log-dead-letters-during-shutdown'.
在我的手术完成之前,我的演员死了什么?
答案 0 :(得分:0)
我使用的初始配置是 Akka Resizers 。使用resizers
时,将根据配置自动调整池的大小,因为正常消息将发送给它。 messages-per-resize
决定尝试调整大小的频率。
在这种情况下,public int messagesPerResize()
是调整大小操作之间的消息数。使用1在每条消息之前调整大小。
因此,我转而使用固定数量的演员(nr-of-instances
而非resizer
)并解决了问题。
akka.actor.deployment {
/OperationManagerActor/StatusCheckerActor {
router = smallest-mailbox-pool
nr-of-instances = 10
}
}