繁体   English   中英

Infinispan事务-无法从Spring4获取TransactionManager

[英]Infinispan transaction - can not get TransactionManager from Spring4

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

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

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

因此,至少有两种处理方式:

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM