Infinispan事务 - 无法从Spring4获取TransactionManager

时间:2016-05-17 13:01:12

标签: java spring hibernate infinispan

我需要将Infinispan配置为我的Spring项目的缓存提供程序。这是因为他的交易功能。问题在于Spring使用PlatformTransactionManager而Infinispan需要javax.transaction.TransactionManager。 是否可以使用Spring提供的PlatformTransactionManager配置Infinispan TransactionManagerLookup?

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

2 个答案:

答案 0 :(得分:2)

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

所以至少有两种方法可以解决这个问题:

  • 您可以在PlatformTransactionManager和JTA TransactionManager之间开发和适配,并通过TransactionManagerLookup返回。
  • 更好的方法是将Spring配置为与您的实体一起使用JTA(您可能会在互联网上找到许多示例,但关键点在于您需要一些JTA实现,例如Narayana)。然后,Infinispan应自动找到JTA事务管理器(或者您可以使用TransactionManagerLookup手动指定它)。

答案 1 :(得分:0)

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