7

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

有人知道已经这样做的开源项目吗?我不想为了发现它已经完成而实施这个烂摊子......

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

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

可以在这里找到一篇关于所涉及的复杂性的好文章。

4

4 回答 4

6

XADisk可以为您提供所需的内容。它是免费和开源的。

于 2010-03-16T20:50:38.813 回答
3

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

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

Jonathan Halliday
JBossTS 开发团队

于 2009-05-21T13:30:45.403 回答
3

最近我解决了完全相同的问题。最后,我将Bitronix与 XADisk 一起使用。

您可以在我的博客文章中找到更多详细信息:JTA 事务管理器 – Atomikos 还是 Bitronix?

于 2011-11-30T13:08:34.917 回答
0

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

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

于 2009-05-21T20:44:00.520 回答