У меня есть существующий проект клиент-сервер, который использует простой JDBC для связи с одним экземпляром MySQL. Теперь я хотел бы расширить его для поддержки нескольких (разделенных) экземпляров MySQL, используя любую реализацию JPA и с помощью реализации JTA, которая поддерживает транзакции XA.
Мой вопрос, как мне поступить? После нескольких часов гугления я понял, что не смогу использовать реализации JTA без какого-либо контейнера сервера приложений, правда ли это?
Для моей цели я был бы счастлив, если бы логика приложения могла быть абстрагирована с использованием любого уровня ORM — реализации JPA (например, EclipseLink Partition или OpenJPA Slice), а затем с помощью диспетчера транзакций (например, BTM) для выполнения транзакций XA, обеспечивающих гарантии ACID поверх базовый набор экземпляров MySQL.
До сих пор я пробовал видеоурок на YouTube (https://www.youtube.com/watch?v=Vmr6GAlbG10), экспериментируя с EclipseLink и одним экземпляром базы данных. Теперь я планирую расширить его на несколько экземпляров, но не знаю, как.
Любые добрые предложения, ссылки и рекомендации были бы очень полезны. Я новичок в этом, так что примите любые неудобства, если я что-то неправильно понял. Спасибо.