java - 是否有任何关于事务性文件I/O、Java 语言的开源工具或框架?

标签 java file-io transactions

<分区>

我的项目需要RandomAccessFile,我已经实现了。但是在测试Multiple Access时,发现了很多问题。它不能确保文件访问安全,没有ACID语义。所以我需要一个基于RandomAccessFile的框架来解决这个问题。

最佳答案

您具体遇到了哪些问题?您是否需要完整的 ACID 支持、并发事务隔离、回滚等。或者您“只”需要更强的鲁棒性来处理某些类型的故障?解决方案将取决于您的要求。

不过,这里是解决事务文件系统问题的框架列表。

如果您的应用在 Java EE 应用服务器中运行,您可以查看

对于plain Java,你可以看看

一般来说,事务文件系统很复杂。否则,您可以自己制作设计以提供一些稳健性。这是 an answer我在此处草拟了一个通常提供足够稳健性的设计。确保您还了解刷新(例如 FileOutputStream.flush)如何与 java File API 一起工作以提高稳健性。如果您想要完整的 ACID 稳健性,将数据存储在数据库中几乎更容易。

同样,解决方案将取决于您需要的稳健性的确切级别。有些问题可以在设计层面解决(锁、刷新等),有些则需要第三方库才能进行真实交易。

相关:

关于java - 是否有任何关于事务性文件I/O、Java 语言的开源工具或框架?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3132869/

相关文章:

java - 如何将 Angular2 与 Java 集成

java - Java AsyncTask 的使用

java - 无法实例化bean构造函数抛出异常;嵌套异常是 java.lang.NullPointerException

java - 如何使注释更加语义化?

java - InputStream.available() 并从 oracle 中完整读取文件注释

c# - 如何从交易建议中排除方法?

java - 尝试在 java 中使用 getResourceAsStream 时出现问题

C++按行读取逗号分隔文件[其中一个部分为mm/dd/yyyy],安全地放入结构中

java - 提交 hibernate 事务有多昂贵?

transactions - 检索 JMS 消息重试次数