التعامل مع InvalidItemStateException في jackrabbit
-
06-07-2019 - |
سؤال
ونحن نشهد الآن عددا من InvalidItemStateException في تطبيق ويب لدينا الناجمة عن 2 أو أكثر من المستخدمين تحديث نفس المضمون. بقدر ما فهمت هو في تصميم JackRabbit لرمي javax.jcr.InvalidItemStateException
في مثل هذه الحالة، وأنه على ما يرام، ولكن أردت أن أسأل عن طريقة شائعة للتعامل مع ذلك. نحن بخير إلى حد ما أن التغيير معالجتها الماضي يفوز التحديث. حتى الآن نحن قد حان حتى مع التعليمات البرمجية التالية:
repeat = false;
do {
try {
// Do node update/remove
} catch (InvalidItemStateException e) {
repeat = true;
}
} while (repeat);
وهذا هو النمط الشائع كيفية التعامل مع ذلك؟ أو أنها ليست أفضل طريقة لتجنب مثل هذه الحالات؟
المحلول
وJCR (وJackrabbit) لديها آلية تأمين العقدة التي قد تكون أكثر ملاءمة لهذا ... آسف، على الرغم من أنني لم تستخدم حتى الآن للتأكد من أنه من شأنه أن يحل مشكلتك.
وحظا سعيدا.
نصائح أخرى
في أجل تجنب InvalidItemStateException كل موضوع / المستخدم يجب أن يكون ذلك هو الكائن الدورة الخاصة.