Infinispan транзакции с @Transactional - PullRequest
0 голосов
/ 04 февраля 2020

Я собираюсь использовать Infinispan вместо моей реляционной базы данных в wildfly.

CDI поддерживает аннотацию @Transactional. Обычно я ставлю @Transactional на уровне метода только для транзакций, связанных с JPA. Infispan будет использовать @Transactional (с его Java Transaction API). Или @Transactional только для JPA?

1 Ответ

2 голосов
/ 07 февраля 2020

Да, Infinispan поддерживает JTA , а CDI также поддерживает JTA , поэтому при выполнении перехватчика транзакций CDI он берет диспетчер транзакций и создает транзакцию. Если ваш кэш Infinispan сконфигурировал этот Менеджер транзакций, ресурс будет зачислен / синхронизирован для транзакции.

Вам необходимо настроить TransactionManager для Infinispan, как указано в документации (Infinispan поставляется с несколькими транзакциями может помочь менеджер классов поиска). Для получения дополнительной информации об этом: ( Infinispan do c reference ).

Имейте в виду, что если вы sh смешаете в одной транзакции несколько ресурсов, таких как база данных и кэшировать, и вы будете sh делать это в одной транзакции, Infinispan также поддерживает распределенные транзакции, поэтому вы можете настроить транзакцию XA (в этом случае ваша база данных или другой ресурс также должны поддерживать XA). Больше информации об этом: Infinispan do c ссылка 2 и Infinispan do c ссылка 3

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...