5

我的 Spring 项目中需要一个消息传递或事件框架。

基本要求:

  • 单个生产者/发送者,它将创建消息/事件
  • 生产者将向其中发送消息的全局通道/队列/等
  • 多个组件应该能够在此通道/队列中注册,以便它们可以接收消息/事件
  • 所有组件都应该能够接收所有消息 - 所有接收者都可以看到每条消息,而不仅仅是一个(例如第一个)。所以单个消费者不能让消息消失并且对其他人不可见
  • 消息应该以异步方式分布在所有消费者之间,因此它们都可以同时接收消息,而不仅仅是一个接一个

什么最适合我的需求?

4

3 回答 3

6

我认为您的要求符合 Spring Integration 的功能。

http://www.springsource.org/spring-integration

于 2012-04-13T16:06:45.117 回答
3

Spring 原生支持观察者模式(查看事件部分)。检查它是否满足您的需求。如果没有,那么您可以使用 Spring 的 JMS 支持 + ActiveMQ。

于 2012-04-13T16:22:57.593 回答
0

Guava EventBus可以为您工作。它允许组件之间的发布-订阅式通信,而无需它们显式地相互了解。这是一篇不错的文章,通过一些示例进一步解释了它。

于 2012-09-05T11:48:06.293 回答