Использование JMS в качестве службы запросов / ответов

Существуют различные реализации для использования JMS в качестве службы запросов / ответов. Хотелось бы узнать идеальную реализацию. Ниже представлены различные реализации.


1) Постоянная очередь запросов, динамическая очередь ответов

Все сообщения с запросами публикуются в единой очереди запросов, определяющей очередь ответов. Служба принимает сообщение запроса и публикует сообщение обратно в динамическую очередь ответа.

  • Нет необходимости в идентификаторе корреляции.
  • Несколько потребителей соответствующих очередей ответов

2) Постоянная очередь запросов, Постоянная очередь ответов

Все сообщения запроса публикуются в единой очереди запросов с указанием уникального идентификатора в свойствах jms. Уникальный идентификатор хранится локально. Служба принимает сообщение запроса и публикует сообщение обратно в очередь ответов. Потребитель с одним ответом будет принимать сообщение и действовать соответствующим образом на основе уникального идентификатора.

  • Требуется идентификатор корреляции.
  • Один потребитель очереди ответов

3) Постоянная очередь запросов, Тема постоянного ответа

Все сообщения с запросами публикуются в одной очереди запросов с указанием уникального идентификатора в свойствах jms. Служба принимает сообщение запроса и публикует сообщение с тем же уникальным идентификатором в свойствах jms обратно в тему. Потребители ответа установят селектор сообщений для выбора только сообщения, которое содержит уникальный идентификатор.

  • Требуется идентификатор корреляции.
  • Несколько потребителей темы ответа

Кто-нибудь знает другие реализации? И какая из этих реализаций является идеальным решением для использования JMS в качестве службы запросов / ответов?

7
задан onejigtwojig 4 February 2011 в 17:15
поделиться