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

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

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

在Spring 3+中有一个实现类似function的请求票 。 我愿意尝试一下,但我想我先问:那里有没有实现?

谢谢

正如Luciano建议的那样,我发现了一个完美的ChainedTransactionManager实现:

  org.springframework.data spring-data-neo4j-tx 2.2.0.RELEASE  

类名: org.springframework.data.neo4j.transaction.ChainedTransactionManager

编辑

从版本1.6.1开始 , ChainedTransactionManager现在是Spring Data Commons的一部分。