根据"尽力而为1PC"模式实现Spring ChainedTransactionManager

Gio*_*tta 6 java spring transactions jms jdbc

最好的努力1PC在这篇文章中很好地描述.为SpringSource工作的作者David Syer提供了一个ChainedTransactionManager扩展Spring AbstractPlatformTransactionManager类的实现.

此特定事务管理器可以启动n个事务,例如JDBC或JMS会话,并使用每个资源一个的n个实例执行提交/回滚AbstractPlatformTransactionManager.这在XA驱动程序不可用时非常有用.由于帖子很老,代码在Spring 2.5中运行良好,但在Spring 3+中失败了.

在Spring 3+中有一个实现类似功能的请求票.我愿意试一试,但我想我先问:那里有没有实施?

谢谢

Gio*_*tta 4

根据 Luciano 的建议,我发现了一个完美的工作实现ChainedTransactionManager

<dependency>
  <groupId>org.springframework.data</groupId>
  <artifactId>spring-data-neo4j-tx</artifactId>
  <version>2.2.0.RELEASE</version>
</dependency>
Run Code Online (Sandbox Code Playgroud)

班级名称:org.springframework.data.neo4j.transaction.ChainedTransactionManager

编辑

从版本 1.6.1ChainedTransactionManager开始,它现已成为 Spring Data Commons 的一部分。