Spring JtaTransactionManager автоматически пропускает неиспользуемые ресурсы на транзакции из двухфазной фиксации? - PullRequest
0 голосов
/ 26 февраля 2011

Мне интересно, как Spring привлекает ресурсы для данной аннотированной транзакции. Скажем, у меня есть 3 источника данных с поддержкой XA D1, D2 и D3. Иногда транзакции могут происходить между D1 и D2, а иногда - между D2 и D3, иногда со всеми источниками данных (и всеми комбинациями ... и т. Д.).

Итак, будет ли Spring автоматически подключать только требуемые ресурсы для данной транзакции, если все три источника данных были присоединены к одному экземпляру JtaTransactionManager? Если нет, я должен создать несколько экземпляров JtaTransactionManager для каждой комбинации набора ресурсов?

Спасибо

Chris

P.S. У меня есть дополнительный вопрос, не связанный с Spring, но я опубликую его отдельно.

1 Ответ

2 голосов
/ 26 февраля 2011

Насколько я знаю, Spring не заботится о XA, а просто обрабатывает XA TX manager как универсальный JTA-менеджер.Таким образом, это зависит от менеджера, чтобы выполнить свою работу, когда получил / откат.Весна просто гарантирует, что вызов сделан.Это делается той же самой реализацией прокси, которая используется любым другим прокси Spring TA.

...