Обновить несоответствие порядкового номера; запрашиваемый 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);
}
Посмотрите здесь: Работа с защитой