在jackrabbit中处理InvalidItemStateException
-
06-07-2019 - |
题
我们现在在Web应用程序中遇到一些InvalidItemStateException,这是由2个或更多用户更新相同内容引起的。据我所知,JackRabbit的设计是在这种情况下抛出 javax.jcr.InvalidItemStateException
而且没关系,但我想问一下处理它的常用方法。我们相当不错,上次处理的更改赢得了更新。到目前为止,我们已经提出了以下代码:
repeat = false;
do {
try {
// Do node update/remove
} catch (InvalidItemStateException e) {
repeat = true;
}
} while (repeat);
这是一个常见的模式如何处理?或者这是避免这种情况的更好方法吗?
解决方案
JCR(和Jackrabbit)有一个节点锁定机制,可能更适合这个...抱歉,虽然我还没有使用它,以确保它可以解决你的问题。
祝你好运。其他提示
为了避免InvalidItemStateException,每个线程/用户都应拥有自己的Session对象。
不隶属于 StackOverflow