2013-03-25 2 views
0

Вот поток:Spring Управление транзакциями + Активный MQ + Datasource

  1. Begin Transaction.
  2. Сообщение помещается в очередь, но не готово к деактивации. (Сейчас я не знаю, как этого достичь)
  3. (i) Завершить сделку - Успешно: сообщение будет доступно для удаления.
  4. (ii) Откат: сообщение будет удалено из очереди.
  5. Сообщение успешно де-очереди слушателя.

Я могу настроить Spring Transaction Manager для спящего режима. Точно так же я могу использовать активный MQ для JMSTransactionManager. Но большой вопрос:
Как JMSTransactionManager будет знать состояние HibernateTransactionManager? Как бы эти два взаимодействовали?

Note: I am using Tomcat managed datasources for Hibernate entities. Apache Camel support is also available in project. 

ответ

1

Вам нужен менеджер транзакций с поддержкой XA, а Spring отсутствует. Поэтому либо развертывайте приложение на сервере приложений Java EE, либо встройте автономный диспетчер транзакций, такой как Bitronix.

+0

ОК. Допустим, у меня есть менеджер с поддержкой XA. Каков следующий шаг отсюда? –

+1

Внимательно прочитайте его документацию и следуйте инструкциям. –