Чтобы избежать накладных расходов XA, я добавил префикс некоторых имен таблиц из проекта A и выкатил их в ту же базу данных mysql, что и проект B, чтобы я мог использовать то же соединение - и надеюсь получить полную атомарность и т. Д.
Проекты A и B, хотя и имеют очень разные конфигурации фабрики сессий. У меня есть HibernateTransactionManager, настроенный для проекта B, тогда как A просто использует
TransactionSynchronizationManager.hasResource (sessionFactoryA)
Код в стиле OSiV для присоединения к транзакции.
Это работает концептуально? Я только что попробовал точку останова в A, затем подождал, затем продолжил, и тайм-аут заставил B откатиться, но A все еще фиксирует !!?
Что дает? Спасибо за любую помощь.