Spring JMS 2-phase-commit в java SE - PullRequest
       46

Spring JMS 2-phase-commit в java SE

0 голосов
/ 18 сентября 2011

Я не работаю под Java EE.

Я хочу получить транзакцию XA с использованием Spring для разделения транзакции между БД и JMS.

Предоставляет ли Spring такую ​​функциональность или я должен использовать внешний диспетчер транзакций, такой как Atomikos?

В настоящее время я использую DataSourceTransactionManager для БД, и я вижу, что я также могу использовать JMSTransactionManager. Они работают вместе? Непонятно из документации, так как упоминается JtaTransactionManager.

Пожалуйста, сообщите.

Яир

Ответы [ 2 ]

1 голос
/ 16 февраля 2013

Spring предоставляет только основу для управления транзакциями, поэтому он не предоставляет никакого менеджера транзакций.Если вы запускаете приложение вне контейнера Java EE и вам требуется транзакция между ресурсами, такими как БД и JMS, вам необходимо использовать внешний TransactionManager, например, Atomikos или JOTM (Java Open Transaction Manager).

Возможно, выхотите обратиться к http://www.javaworld.com/javaworld/jw-04-2007/jw-04-xa.html для получения более подробной информации о XA с использованием Spring.

0 голосов
/ 18 сентября 2011

они являются локальными ресурсами, но Spring поддерживает XA (см. Этот пост для объяснения и пример кода): http://blog.springsource.com/2011/08/15/configuring-spring-and-jta-without-full-java-ee/

...