Как назвать следующий шаблон, основанный на обмене сообщениями и единицей работы (XA)? - PullRequest
2 голосов
/ 22 мая 2009

У меня проблемы с именованием шаблона, обычно используемого приложением, над которым я работал некоторое время. Просто для установки сцены: это приложение Java EE, которое много использует обмен сообщениями (JMS), сохраняет данные в реляционной базе данных (JDBC) и использует глобальные транзакции (XA), управляемые сервером приложений (JTA).

Шаблон, о котором я говорю, можно описать следующим образом:

  • Запустить транзакцию XA с помощью диспетчера транзакций JTA
  • Получить сообщение из очереди, используя JMS
  • Обработайте сообщение, выполнив некоторую бизнес-логику, которая может обновить таблицы базы данных (JDBS), а также отправить некоторые другие сообщения в очереди (JMS). Важно, чтобы все операции участвовали в текущей транзакции (единице работы).
  • В конце опционально отправить сообщение обратно или запрос переслать.

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

Итак, вопрос в том, как бы вы назвали такой шаблон? К сожалению, я не знаю ни одного хорошего названия для такого шаблона, но я не удивлюсь, если шаблон уже был Имена красиво.

Ответы [ 2 ]

2 голосов
/ 22 мая 2009

В книге Грегора Хоупа и Бобби Вулфа «Шаблоны интеграции предприятий» это просто называется « Транзакционный клиент ».

0 голосов
/ 03 июня 2009

Транзакционный клиент действительно.

Однако вы можете попробовать вариант Atomikos, управляемый сообщениями POJO. Это снимет бремя контроля транзакций со спины вашего приложения и приведет к гораздо более простому коду.

Подробнее см. http://www.atomikos.com/Publications/J2eeWithoutApplicationServer.

НТН Guy

...