在事务文件I/O、Java语言方面是否有开源工具或框架?
我的项目需要在事务文件I/O、Java语言方面是否有开源工具或框架?,java,file-io,transactions,Java,File Io,Transactions,我的项目需要RandomAccessFile,我已经做到了。但是在测试多重访问时,发现了很多问题。它无法确保文件访问的安全性,没有酸性语义。因此我需要一个基于RandomAccessFile的框架来解决这个问题。如果您的模型处于正确的抽象级别,声明一些同步方法应该考虑完整性 如果您确实需要在JVM或繁重进程之间共享文件锁,您可能需要查看java.util.concurrent.locks.ReentrantReadWriteLock或java.nio.channels.FileLock(来自Ja
RandomAccessFile
,我已经做到了。但是在测试多重访问时,发现了很多问题。它无法确保文件访问的安全性,没有酸性语义。因此我需要一个基于RandomAccessFile
的框架来解决这个问题。如果您的模型处于正确的抽象级别,声明一些同步方法应该考虑完整性
如果您确实需要在JVM或繁重进程之间共享文件锁,您可能需要查看java.util.concurrent.locks.ReentrantReadWriteLock或java.nio.channels.FileLock(来自JavaDoc):
此文件锁定API旨在
直接映射到本机锁定
基础运营商的贷款
系统。因此,文件上的锁
应该对所有
有权访问该文件,无论
这些程序使用的语言
这些都是书面的
哦,当然值得关注。你到底遇到了什么问题?您是否需要具有并发事务隔离、回滚等功能的完整ACID支持,还是“只”需要更健壮一点来处理某些类型的故障?解决方案将取决于您的需求 不过,下面列出了一些解决事务性文件系统问题的框架 如果您的应用程序运行在Java EE应用程序服务器上,您可以查看
- ,看起来很有希望
- ,但我不认为这是交易
- ,我自己的实现
- ,但我觉得这个项目已经失败了
- 可能是(JSR-170和JSR-283),但它是一个高级API
FileOutputStream.flush
)如何与javaFile
API一起工作,以提高健壮性。如果您想要全酸健壮性,那么将数据存储在数据库中几乎更容易
同样,解决方案将取决于您需要的健壮性的确切级别。有些问题可以在设计级别解决(锁、刷新等),有些问题需要第三方库来实现真正的事务
相关的: