Apache 化学 CMIS session.createDocument 对比 folder.createDocument

Apache Chemistry CMIS session.createDocument vs folder.createDocument

我希望有人告诉我会话 createDocument 和文件夹 createDocument 方法之间的区别。

在这个上下文中还有一个关于如何使用文档 appendContentStream() 方法的示例,我一直在努力查看在线示例,我有一个文档大小可以达到 300-350MB 的要求,我是尽管 Jeff Potts 在 Nuxeo 网络研讨会上推荐了 appendContentStream(),但他确实提到了 1GB 左右的大小,因此很想了解更多有关 appendContentStream() 的信息。

Session.createDocument() 创建文档和 returns 文档 ID。 Folder.createDocument() 创建一个文档并 returns 一个完整的 Document 对象。为此,Folder.createDocument() 需要再往返一次服务器。如果您只想创建一个文档并且对文档属性、文档权限或文档再现等不感兴趣,请使用 Session 变体。速度更快。

CMIS 规范不限制文档大小。有些仓库支持一次性上传几GB的文件。但是,如果这样的上传失败,例如,如果存在连接问题,则您必须重复完整的上传。 appendContentStream() 允许分块上传文档。如果上传一个块失败,你只需要重复上传那个块。这是否有意义取决于您的应用程序、存储库和网络。

OpenCMIS TCK 中有一个 appendContentStream() 代码示例(可能不是很好): https://svn.apache.org/viewvc/chemistry/opencmis/trunk/chemistry-opencmis-test/chemistry-opencmis-test-tck/src/main/java/org/apache/chemistry/opencmis/tck/tests/crud/SetAndDeleteContentTest.java?view=markup