我正在寻找一个"技巧"或"黑客"来确定文件是否已经保存在远程磁盘上,通过vmware缓存,NAS缓存等.
刷新和关闭FileOutputStream是不够的.我认为Channel.force(true)既不是.
我正在考虑这样的事情:
也许有人有同样的问题,并找到了解决方案.
我的要求是不要丢失数据.java应用程序以这种方式工作:
今晚我们遇到了崩溃,并且在第5步之后但是在将数据实际刷新到远程存储之前有三次交易失败.所以数据库说一切都很好,远程端被告知相同,但15秒的签名数据丢失了.这不好.
正确的解决方案可能是对远程文件系统进行"同步安装".但这不会在短时间内发生.即使在这种情况下,鉴于应用程序在VMWare服务器上运行,我也不完全信任这种情况.
因此,我希望有一个"尽力而为"的黑客来防止(缓解)像这样的事件.