尽力而为1PC在this post中有很好的描述。作者,为SpringSource工作的David Syer提供了一个ChainedTransactionManager
的实现,扩展了Spring AbstractPlatformTransactionManager
类。根据“尽力而为1PC”模式实现Spring ChainedTransactionManager
这个特定的事务管理器可以开始Ñ交易,例如,JDBC或JMS会话,并执行使用提交的AbstractPlatformTransactionManager
Ñ实例中,每一个资源/回滚。这在XA驱动程序不可用的情况下非常有用。由于该帖子非常陈旧,因此Spring 2.5的代码运行良好,但Spring 3+失败。
有一个request ticket在Spring 3+中实现类似的功能。我愿意尝试一下,但我想我会先问:有没有实现?
感谢
我想你可以尝试使用spring-data-neo4j中的ChainedTransactionManager,但是现在什么样的数据库不提供xa驱动程序?如果你需要另一个想法,这个博客http://infinispan.blogspot.com.ar/2011/06/faster-infinispan-based-second-level.html显示缓存系统如何挂钩到JTA同步,以避免XA性能条款。 – Luciano 2013-04-04 19:01:36
谢谢我现在正在使用它,有人在Spring的Jira上提出了它。例如,Vectorwise不提供XA驱动程序。 Giovanni – 2013-04-04 21:00:57
嗨Giovanni,我们也尝试使用尽力而为的1PC模式为我们的春季批量应用做类似的设置。您可以让我们知道您使用这种方法的经验。如果您可以提供给我们一个示例配置文件供参考,这将是非常有用的。我的电子邮件ID是[email protected]。预先感谢您 – Ravikiran763 2015-04-20 10:24:15