Jackrabbit에서 InvaliditemStateException을 처리하십시오
-
06-07-2019 - |
문제
우리는 이제 동일한 콘텐츠를 업데이트하는 2 명 이상의 사용자로 인해 웹 응용 프로그램에서 여러 가지 InvaliditemStateException을 경험하고 있습니다. 내가 이해하는 한, 그것은 jackrabbit의 디자인에 있습니다. javax.jcr.InvalidItemStateException
그런 상황에서는 괜찮습니다. 그러나 나는 그것을 처리하는 일반적인 방법에 대해 물어보고 싶었습니다. 마지막으로 처리 된 변경 사항이 업데이트에서 승리해도 괜찮습니다. 지금까지 우리는 다음 코드를 생각해 냈습니다.
repeat = false;
do {
try {
// Do node update/remove
} catch (InvalidItemStateException e) {
repeat = true;
}
} while (repeat);
이것이 일반적인 패턴입니까? 아니면 그러한 상황을 피하는 것이 더 좋은 방법입니까?
해결책
JCR (및 Jackrabbit)에는 이에 더 적합 할 수있는 노드 잠금 장치가 있습니다. 죄송합니다. 아직 사용하지는 않았지만 문제를 해결하지는 못했습니다.
행운을 빕니다.
다른 팁
InvaliditemStateException을 피하려면 모든 스레드/사용자에게는 자체 세션 객체가 있어야합니다.
제휴하지 않습니다 StackOverflow