Вопросы к себе / команде:
- Поддерживает ли наша база данных XA?
- Поддерживает ли драйвер JDBC XA?
- Будет ли комбинация Glassfish / database / JDBC работать с XA?
- Действительно ли нам нужны распределенные транзакции?
Я вернусь к пункту 4 - не делайте распределенные транзакции. Вы должны быть действительно уверены, что распределенные транзакции - лучшее решение для вас. Это не просто, и рекомендуется избегать их, если это возможно. Это прямо из Юргена Хеллера, соучредителя и старшего разработчика в Spring.
Spring не поддерживает распространение транзакций между процессами, поэтому вам понадобится контейнер для поддержки или вручную.