문제

우리는 이제 동일한 콘텐츠를 업데이트하는 2 명 이상의 사용자로 인해 웹 응용 프로그램에서 여러 가지 InvaliditemStateException을 경험하고 있습니다. 내가 이해하는 한, 그것은 jackrabbit의 디자인에 있습니다. javax.jcr.InvalidItemStateException 그런 상황에서는 괜찮습니다. 그러나 나는 그것을 처리하는 일반적인 방법에 대해 물어보고 싶었습니다. 마지막으로 처리 된 변경 사항이 업데이트에서 승리해도 괜찮습니다. 지금까지 우리는 다음 코드를 생각해 냈습니다.

repeat = false;
do {
  try {

     // Do node update/remove

  } catch (InvalidItemStateException e) {
    repeat = true;
  }
} while (repeat);

이것이 일반적인 패턴입니까? 아니면 그러한 상황을 피하는 것이 더 좋은 방법입니까?

도움이 되었습니까?

해결책

JCR (및 Jackrabbit)에는 이에 더 적합 할 수있는 노드 잠금 장치가 있습니다. 죄송합니다. 아직 사용하지는 않았지만 문제를 해결하지는 못했습니다.

행운을 빕니다.

다른 팁

InvaliditemStateException을 피하려면 모든 스레드/사용자에게는 자체 세션 객체가 있어야합니다.

라이센스 : CC-BY-SA ~와 함께 속성
제휴하지 않습니다 StackOverflow
scroll top