Java 具有可插拔消费者的内部事件总线

Java 具有可插拔消费者的内部事件总线,java,jakarta-ee,Java,Jakarta Ee,我有一个接收和处理消息和事件的J2EE应用程序。这些消息包含各种数据块。根据消息中包含的数据类型,可以触发不同类型的处理 我希望有一个简单的内部事件/消息总线,主处理线程可以使用它根据消息内容调用不同的后处理器。例如,如果收到类型为a的消息,我希望能够向订阅类型为a的事件的所有后处理器发送内部事件。后处理器可以在自己的时间/线程中发挥其魔力。如果可以通过某种插件框架从应用程序中添加/删除后处理器,这将是一件好事,尽管不是必需的 我知道有各种消息总线可用。我真的在寻求一个合适的轻量级选择的建议,或

我有一个接收和处理消息和事件的J2EE应用程序。这些消息包含各种数据块。根据消息中包含的数据类型,可以触发不同类型的处理

我希望有一个简单的内部事件/消息总线,主处理线程可以使用它根据消息内容调用不同的后处理器。例如,如果收到类型为a的消息,我希望能够向订阅类型为a的事件的所有后处理器发送内部事件。后处理器可以在自己的时间/线程中发挥其魔力。如果可以通过某种插件框架从应用程序中添加/删除后处理器,这将是一件好事,尽管不是必需的

我知道有各种消息总线可用。我真的在寻求一个合适的轻量级选择的建议,或者也许是一个设计模式/示例来烹饪我自己


感谢您的期待

提供了出色的EventBus实现。请参阅。

您也可以查看MBassador

它是注释驱动的,重量非常轻,并且使用弱引用,因此易于在对象生命周期管理由spring或guice之类的框架完成的环境中集成。它提供了对象过滤机制和同步或异步分派/消息处理。而且速度非常快

编辑:我为一系列可用的事件总线实现(包括Guava、MBassador等)创建了性能和功能比较。结果很有趣。看看这里

感谢您提供此指针。我将在当天晚些时候浏览文档并再次发表评论。添加了更多文档。我想我会在不久的将来提供一个与番石榴巴士的性能比较。