Использование транзакции XA с JDBC, MySQL и Microsoft SQL Server - PullRequest
1 голос
/ 17 июля 2011

Предположим, у меня есть сервер MySQL, работающий на одном компьютере, сервер Microsoft SQL, работающий на другом компьютере, и моя собственная пользовательская база данных Java, работающая на третьем компьютере.

Как использовать X / Open XAстандарт для запуска распределенной транзакции по всем трем?

Указывает ли X / Open XA протокол, многоуровневый по TCP или UDP?Я не мог найти никакой информации по этому вопросу.XA, по-видимому, ничего не определяет в сети, и в этом случае как его можно использовать для запуска распределенной транзакции через MySQL, SQL Server и пользовательскую базу данных Java.

1 Ответ

2 голосов
/ 17 июля 2011

Он находится в базе данных, чтобы обеспечить поддержку двухфазных транзакций. В общем случае они предоставляют другую реализацию своего ConnectionPool. Если ваше Java-приложение работает на сервере приложений, вы должны явно определить XA DataSource.

XA не нужно указывать какие-либо сетевые требования низкого уровня. Это протокол приложения, WikiPedia предоставляет хороший обзор: http://en.wikipedia.org/wiki/2PC

Итак, если вы хотите реализовать распределенное соединение, все участники должны предоставить интерфейс с поддержкой XA.

...