2016-02-03 3 views
0

Я использую Filenet 4.5.1 У меня есть модуль в моем проекте, где мы перемещаем содержимое из папки во вновь создаваемую папку, а затем удаляем их из старой папки.Несоответствие номера последовательности; запрошен USN = 2, база данных USN = 3

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

Посмотрите здесь: Working with Containment