Мы используем Infinispan (кластеризованный с использованием JGroups) в качестве нашего кэша второго уровня в нашем приложении на основе JPA (Hibernate). Когда происходит сбой в работе базы данных, мы видим, что кэш 2-го уровня устарел. Например:
1) Попытка создать пользователя с логином "joe".
2) Звонок сохраняется (пользователь);
3) постоянные сбои из-за ограничения уникальности базы данных.
4) Выполните поиск по идентификатору на login = joe (при условии, что логин - это PK).
5) Hibernate возвращает пользователя joe из кэша Infinispan, даже если в базе данных его нет.
Конфигурирование транзакций XA и участие Infinispan в XA выглядит излишним в этой ситуации. Является ли XA единственным способом решения этой проблемы?