我必须从Java Web应用程序将非常大的文件(> 10 GB)上传到Alfresco存储库。由于文件大小的原因,我想使用Apache化学在Java中提供的appendContentStream
动作(CMIS 1.1)来使用分块上传(比如1 GB)。
我的问题是:如何从失败的块上传中恢复? AFAIU,使用appendContentStream
的一个要点是避免在发生故障时重新上传整个文件,但我没有找到任何机制说:“好的,最后一个块出错,让我们上传它再次“。如果块上传失败,如何避免损坏的文件?
看看Alfresco的源代码[1]和[2],我看到在4.2f中,每个chunk追加创建一个新的次要版本,而在5中,这不再是真的。对我来说,这两种解决方案都不是最理想的(在4.2f中存在“版本污染”,在5中我看不到恢复路径)。
关于最佳模式的任何建议?