2012-04-13 5 views
4

Мне нужен механизм обмена сообщениями или событий в моем проекте Spring.Структура обмена сообщениями/событий в проекте Spring

Основные требования:

  • одного производителя/отправителя, который будет создавать сообщения/события
  • Глобальный канал/очередь/и т.д., где производитель будет отправлять сообщения в
  • нескольких компонентов должны быть в состоянии зарегистрируйтесь в этом канале/очереди, чтобы они могли получать сообщения/события
  • Все компоненты должны иметь возможность получать все сообщения - каждое сообщение будет видимым для всех получателей, а не только для одного (например, для первого). Поэтому единый потребитель не может сделать сообщение исчезнуть и быть не видны другим
  • Сообщение должно быть распределено между всеми потребителями асинхронным способом, так что все они могут получать сообщения в то же время, не только каждый после другого

Что лучше всего подходит для моих нужд?

ответ

3

Spring имеет встроенную поддержку Observer pattern (Look at Events section). Проверьте, соответствует ли оно вашим потребностям. Если это не так, вы можете использовать поддержку JMS Spring + ActiveMQ.

0

Guava EventBus может работать для вас. Это позволяет публиковать сообщения в стиле подписки между компонентами без необходимости четко знать друг друга. Here's хорошая статья, объясняющая это далее некоторыми примерами.

Смежные вопросы