Контроль транзакций через несколько JVM - PullRequest
2 голосов
/ 12 августа 2010

У меня есть то, что кажется стандартной проблемой Java: многократные транзакции базы данных в Oracle, которые должны быть все зафиксированы или ни одной. Это осложняется тем фактом, что каждый процесс находится в отдельной JVM.

Модули соединены очередями JMS в конфигурации конвейера. Идея состоит в том, что ряд сообщений может быть передан по конвейеру, и когда вся обработка завершена, из координирующего модуля можно отправить сообщение, чтобы заставить все транзакции зафиксировать.

Можно ли с любым разумным уровнем надежности синхронизировать коммиты между несколькими JVM?

Ответы [ 2 ]

2 голосов
/ 12 августа 2010

Когда в транзакции участвует несколько участников, вам необходим протокол двухфазной фиксации, например XA .

При использовании JMS у вас есть возможность использовать JMS-транзакции .

И здесь - это сравнение двух вариантов.

1 голос
/ 12 августа 2010

Возможно, вас заинтересует чтение Краткая история консенсуса, 2PC и Transaction Commit.

...