番石榴EventBus - FIFO还是LIFO?

时间:2016-03-22 15:51:08

标签: java guava

这是一个关于EventBus的非常通用的问题。 EventBus是否表现出FIFO或LIFO行为?我使用EventBus作为Java事件"排队"机制并在单个发布者向EventBus发布事件的速度比订阅者可以处理的更快时看到LIFO行为。

1 个答案:

答案 0 :(得分:1)

EventBus doc表示消息将发送给所有处理程序,但没有关于他们的订单。所以我不打赌保留特定的顺序。即使现在订单在文档中没有明确信息的情况下保留,将来可能会发生变化,因此您不应该依赖这些怀疑。

特别是,如果您使用异步实施,那么您肯定没有订单保证。

如果您需要发送一些消息并保留其订单,您可以使用其他解决方案,例如Apache Kafka订购保证。