Обновить несоответствие порядкового номера; запрашиваемый USN = 2, база данных USN = 3

Я использую 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.

Здесь объект ссылается на созданную новую папку.

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);
        }

Посмотрите здесь: Работа с защитой

Другие вопросы по тегам