У меня есть веб-приложение, которое получает запросы на сохранение заказов в базе данных. Я хочу писать в две разные базы данных - один экземпляр Cassandra и один экземпляр PostgreSQL. Я использую простые Java и JDBC (с apache DBUtis) с облегченной библиотекой веб-приложений на передней панели.Как управлять транзакциями по нескольким базам данных
Что я не уверен в том, как реализовать транзакцию по двум базам данных, то есть при сбое записи в одну из баз данных, а затем откатить другую запись и поместить в журнал ошибок сообщение об ошибке.
Есть ли какие-либо механизмы в Java для реализации этого? Я знаю, что такое две фазы, это то, что я бы искал здесь? Есть ли альтернативы?
Пожалуйста, смотрите [здесь] (http://stackoverflow.com/questions/128377/what-is-the-best-way-to-do-distributed-transactions-across-multiple-databases), который рекомендует Не делайте этого. Можете ли вы обновить свой вопрос, чтобы сообщить нам, как вы планируете использовать две базы данных? –
https://en.wikipedia.org/wiki/Java_Transaction_API – Gimby
Я не отмечал его, потому что мы могли обнаружить, что ему не нужно писать в обе базы данных в одной транзакции. Возможно, найти альтернативу своей бизнес-логике можно было бы избежать двух транзакций базы данных. –