CMIS Alfresco 复制文档的所有版本

CMIS Alfresco Copy all versions of a document

基本复制CMIS方法只复制文档的第一版。

如何复制所有版本,因为逐个复制的迭代版本会抛出重复文档异常

我不确定您要做什么,但我认为您不必自己复制每个单独的版本。我认为当您复制文档时,文档及其版本控制也被复制了。

然而,这就是您获取所有文档版本的方式:

Document document = ...;
document.getAllVersions();

通过 CMIS 复制文档的行为与在 Alfresco Share 中复制文档的行为完全相同。对象的 "current" 版本用作副本的源。 None 个版本将被复制。

如果你想做一个维护版本历史的副本,你必须获取源对象的所有版本,然后复制第一个版本以创建新对象,然后签入每个后续版本,按顺序,在复制的对象上。

对于版本历史很深的对象,这可能是一个非常昂贵的操作,因此请仔细考虑这样做是否有意义。