2016-05-17 36 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下綁定它。