Я использую Java API с Case Manager 5.2.1, в Windows.IBM Case Manager: временное получение «несоответствия номера последовательности обновлений», пытающегося сохранить случай
Мой веб-сервис делает следующее:
// Create a brand new case
CaseType myCaseType = CaseType.fetchInstance(osRef, myCaseTypeName);
Case newPendingCase = Case.createPendingInstance(myCaseType);
// Save it now to get access to the Case ID
newPendingCase.save(RefreshMode.REFRESH, null, ModificationIntent.MODIFY);
newCaseIdentifier = newPendingCase.getIdentifier();
// Fetch a fresh copy of the case instance
Case cs = Case.fetchInstanceFromIdentifier(osRef, newCaseIdentifier);
// Now set a whole bunch of properties, add documents, etc. etc.
...
// Finally, save all our updates: to "cs", not "newCaseIdentifier"
cs.save(RefreshMode.REFRESH, null, ModificationIntent.MODIFY);
ПРОБЛЕМА: Я периодически получаю эту ошибку:
The object {52EECAC2-38B2-4CB5-8F22-BAF33D6C35EC} of class "MyCaseTypeName" was not changed or deleted because it was modified one or more times in the repository since the application retrieved it. Update sequence number mismatch; requested USN = 0, database USN = 1
Я знаю есть только два case.save() вызывает: один для «newPendingDocument», другой (намного позже) для «cs».
Я выполняю SAME код несколько раз: иногда он работает, иногда если с ошибкой Ошибка «Неверный номер последовательности номеров».
Q: Любые идеи/любые предложения относительно того, как я могу устранить эту проблему?
Если у вас есть возможность опубликовать полный код? И вы уверены, что клиент только вызывает службу один раз? –