2016-05-17 72 views
0

我需要将Infinispan配置为我的Spring项目的缓存提供者。这是因为他的交易功能。问题在于Spring使用PlatformTransactionManager,而Infinispan需要javax.transaction.TransactionManager。 是否可以使用Spring提供的PlatformTransactionManager配置Infinispan TransactionManagerLookup?Infinispan事务 - 无法从Spring4获得TransactionManager

我使用JpaTransactionManager作为TransactionManager。 Infinispan的版本是7.2.3.Final,Spring4。

回答

2

Infinispan TransactionManagerLookup返回一个JTA TransactionManager实现。但是,您正在使用与JTA无关的PlatformTransactionManager

所以有处理这个问题,至少2种方式:

  • 您可以开发和PlatformTransactionManager的和JTA事务管理器之间的接口,并通过的TransactionManagerLookup返回。
  • 一个更好的方法是配置Spring使用JTA与你的实体(你可能会在互联网上找到很多例子,但这里的关键是你需要一些JTA实现,例如Narayana)。然后Infinispan会自动找到JTA事务管理器(或者您可以使用TransactionManagerLookup手动指定它)。
0

看起来JpaTransactionManager只能绑定一个目标,我需要JtaTransactionManager。希望可以在Spring的PlatformTransactionManager下绑定它。