【发布时间】:2013-03-11 11:22:14
【问题描述】:
生产者演员可以将消息发布给另一个演员以立即处理吗?即向消费者邮箱的头部而不是消费者邮箱的尾部发布消息?
我知道 akka 提供了一种配置我自己定义的邮箱类型的方法,但是如何控制是否需要将某些类型的消息发布在邮箱的头部而不是尾部。
例如TimerMessages。我想要一个时间窗口实现的精确计时器控制。消息必须仅保留 1000 毫秒(例如),如果消息处理消耗时间并且邮箱中有许多待处理的消息,我不希望将计时器消息附加到同一个队列。
我可以使用PriorityMailBox,但PriorityMailBox 的问题在于,即使它可以将更高优先级的消息(计时器消息)放在 MailBox 的头部,对于相同优先级的消息,消息在邮箱不保证与到货顺序一致。所以我也不能使用priorityMailBox。
有人可以告诉我如何实现这种行为吗?
【问题讨论】: