具有@Transactional的Infinispan交易

问题描述 投票:0回答:1

我正在考虑使用Infinispan代替我的Wildfly关系数据库。

CDI支持@Transactional批注。通常,我只将@Transactional放在与JPA相关的事务的方法级别上。 infinispan将使用@Transactional(及其Java事务API)。还是@Transactional仅适用于JPA?

jakarta-ee wildfly infinispan
1个回答
2
投票

是,Infinispan支持JTA,CDI也支持JTA,因此,当CDI的交易拦截器执行时,它将使用交易管理器并创建交易。如果您的Infinispan缓存已配置此事务管理器,则该资源将被登记/同步到事务中。

您需要为Infinispan配置TransactionManager,如文档所述(Infinispan附带了几个可以帮助您的事务管理器查找类)。有关此的更多信息:(Infinispan doc reference)。

请注意,如果您希望在同一个事务中混合多个资源,例如数据库和缓存,并且希望在单个事务中进行此操作,那么Infinispan也支持分布式事务,因此您可以配置XA事务(在这种情况下,您的数据库或其他资源也必须支持XA。有关此的更多信息:Infinispan doc reference 2Infinispan doc reference 3

© www.soinside.com 2019 - 2024. All rights reserved.