0

我正在使用 Filenet 4.5.1 我的项目中有一个模块,我们将内容从文件夹移动到新创建的文件夹,然后从旧文件夹中删除它们。

        ObjectStore objectStore;
        ReferentialContainmentRelationship toRcr = null;
        ReferentialContainmentRelationship fromRcr = null;
        DocumentSet documentSet;
        Iterator documentIterator;
        documentSet = fromFolder.get_ContainedDocuments();
        documentIterator = documentSet.iterator();
        Document document;
        while(documentIterator.hasNext())
            {   

             document = (Document) documentIterator.next();
             toRcr = toFolder.file(document,AutoUniqueName.AUTO_UNIQUE, document.getClassName(),DefineSecurityParentage.DO_NOT_DEFINE_SECURITY_PARENTAGE);

             toRcr.save(RefreshMode.REFRESH);
             toFolder.save(RefreshMode.REFRESH);
             fromRcr = fromFolder.unfile(document);
             fromFolder.save(RefreshMode.REFRESH);
            }

但是,这里 toFolder.save(RefreshMode.REFRESH); 未正确执行,异常即将到来

FNServices.getOldFileFolderObject() 中的异常:对象 {ADF64C74-F80D-4BD7-8A58-86699C66BFAC} 自检索后已被修改。更新序列号不匹配;请求的 USN = 2,数据库 USN = 3。

在这里,对象是指新创建的文件夹。

4

1 回答 1

1

从IBM文档来看,我相信你应该先创建文件夹,然后再担心归档。

ObjectStore objectStore;
    ReferentialContainmentRelationship toRcr = null;
    ReferentialContainmentRelationship fromRcr = null;
    DocumentSet documentSet;
    Iterator documentIterator;
    documentSet = fromFolder.get_ContainedDocuments();
    documentIterator = documentSet.iterator();
    Document document;
    toFolder.save(RefreshMode.REFRESH);
    fromFolder.save(RefreshMode.REFRESH);
    while(documentIterator.hasNext())
        {   

         document = (Document) documentIterator.next();
         toRcr = toFolder.file(document,AutoUniqueName.AUTO_UNIQUE, document.getClassName(),DefineSecurityParentage.DO_NOT_DEFINE_SECURITY_PARENTAGE);

         toRcr.save(RefreshMode.REFRESH);

         fromRcr = fromFolder.unfile(document);
         fromRcr.save(RefreshMode.REFRESH);
        }

看看这里:使用遏制

于 2016-02-03T23:05:47.413 回答