مجال الويب 6.1:مشكلة في استدعاء خلايا متعددة باستخدام IIOP
-
14-11-2019 - |
سؤال
بحاجة إلى بعض المساعدة بشأن المشكلة أدناه
لدينا جهازين، كل جهاز من هذه الأجهزة يحتوي على خليتين لنطاق الويب مثبتتين فيه.الجهاز 1 (خلية X1 و X2) الماكينة 2 (خلية Y1 و Y2)
لدينا تطبيق ويب مثبت على خلية X1، والذي يحتوي على مكون عميل EJB، والذي يستدعي أساليب العمل على مكون EJB المثبت على كل خلية من الخلايا الأربع، أي.X1 وX2 وY1 وY2.يقوم مكون عميل EJB بالبحث عن الواجهة الرئيسية باستخدام بحث عنوان URL لـ IIOP، باستخدام فئة InitalContext.
يتم الاتصال بين مكون عميل EJB وB1 وB2، بشكل صحيح، دون أي مشاكل.لكن الاتصال بخلية X2، لا يحدث بشكل صحيح (لا يرى أي مشاكل في البحث عن الواجهة الرئيسية في السجلات)، فهو يستدعي بطريقة ما أساليب العمل على خادم X1 نفسه.
كان لدينا عميل Java عادي يستخدم main()
طريقة لاستدعاء كافة الخوادم الأربعة.تم تشغيل هذا الإعداد وتشغيله في الإنتاج لمدة عامين.لكن المشكلة بدأت منذ أن قمنا بنقل منطق استدعاء أربعة خوادم في تطبيق الويب بدلاً من main().
ما الفرق الذي يحدثه وجود X1 وX2 على نفس الجهاز الفعلي؟
المحلول
إذا كانت الخوادم لها نفس الاسم، فأنا أظن أنك بحاجة إلى com.ibm.websphere.orb.uniqueServerName
الخاصية المحددة في "يتم استخدام خادمين بنفس الاسم يعملان على نفس المضيف للتشغيل البيني" في مقالة InfoCenter هذه:
نصائح أخرى
لقد واجهت هذه المشكلة مرة واحدة على نظام الاختبار.يحدث ذلك إذا قرر WebSphere (بشكل غير صحيح) أن EJB يعمل بالفعل في الخادم المحلي.في حالتي حدث هذا مع خادمين يعملان على نفس المضيف وتم تكوينهما بنفس اسم الخادم (server1).لسوء الحظ لا أعرف أي حل (بخلاف إعادة تثبيت أحد الخوادم باسم خادم مختلف).