Java中的XA事务文件访问是否有开源解决方案?

时间:2009-05-21 10:55:36

标签: java file transactions filesystems jta

是否可以在Java中对文件系统进行XA事务访问? 我想在事务的边界内操作文件,我的事务必须通过JTA参与分布式事务(所以我想文件系统需要作为XAResource访问)。我不需要支持细粒度的读/写文件访问;将每个文件视为记录就足以满足我的需求。

有人知道一个已经这样做的开源项目吗?我不想实现这个混乱只是为了发现它已经完成了......

我听到一些传言说JBoss Transcations会增加对此的支持(参见例如this discussion)但是找不到关于此的官方声明。

顺便说一句,如果您需要事务性文件访问但不要求事务参与两阶段提交,我建议您查看Apache Commons Transaction

有关复杂性的好文章可以在here中找到。

4 个答案:

答案 0 :(得分:6)

XADisk可以帮助您找到所需内容。它是免费和开源的。

答案 1 :(得分:3)

当JBoss Transactions实习生开始时,没有适用于Java的XA文件系统驱动程序。我最近没有检查过,但也没有看到有关类似工作的任何消息。如果您想使用Ioannis在实习期间所做的工作,但目前尚未积极开发。除非您想成为开源贡献者: - )

在未来的某个时刻,当我们有时间和/或客户需求时,我们可能会将此功能推广到产品中。同时它位于www.jboss.org/jbosstm/fileio/,原始项目讨论位于www.jboss.org/community/wiki/JBossTSProjects

Jonathan Halliday
JBossTS开发团队

答案 2 :(得分:3)

最近我解决了完全相同的问题。最后我使用了Bitronix和XADisk。

您可以在我的博文中找到更多详细信息:JTA transaction manager – Atomikos or Bitronix?

答案 3 :(得分:0)

在Atomikos,我们大约10年前这样做了,但由于缺乏需求而放弃了这个想法。

如果有足够的理由,我们可以继续努力。