Java 像Guava';s事件总线

Java 像Guava';s事件总线,java,guava,Java,Guava,目前,我们正在寻找一种JVM内消息传递解决方案,该解决方案提供与新引入的Guava EventBus相同的光滑API。EventBus提供了几乎所有必需的特性,但我们缺少持久性和将处理程序限制在一定速率的能力。我们不需要ActiveMQ或HornetQ等项目提供的企业功能。尽管以后可能会选择运行应用程序的多个节点。如果有人能给我指出正确的方向,我将不胜感激 另一种可能是使用HornetQEventBus(类似于ASyncEventBus)扩展Guava事件总线,或者实现我们自己的JMS faca

目前,我们正在寻找一种JVM内消息传递解决方案,该解决方案提供与新引入的Guava EventBus相同的光滑API。EventBus提供了几乎所有必需的特性,但我们缺少持久性和将处理程序限制在一定速率的能力。我们不需要ActiveMQ或HornetQ等项目提供的企业功能。尽管以后可能会选择运行应用程序的多个节点。如果有人能给我指出正确的方向,我将不胜感激


另一种可能是使用HornetQEventBus(类似于ASyncEventBus)扩展Guava事件总线,或者实现我们自己的JMS facade。Barebones JMS对于我们的目的来说有点臃肿,我个人认为EventBusAPI非常适合我们的用例

就我个人而言,如果可以的话,我建议继续并延长EventBus。(我不确定我们是否公开了EventHandler和您需要的一些其他组件。=/)


我记得番石榴团队曾就番石榴“节流”API进行过一些讨论;我不知道进展如何,是否有计划发布它,或者它是否可以与EventBus很好地混合。

目前,不可能覆盖EventBus的调度方法。关于这一点,仍有争论,您可以找到它,因为您指出EventBus的设计并没有真正考虑到可扩展性,因此,我们将满足于滚动我们自己的实现,它可能比guava eventbus加载的功能多一点。