سؤال

لتلخيص المشكلة التي أواجهها ، لدي EJB يستخدم الإصدار A من مكتبة (دعنا نسميها dep-va.jar). يتم تعبئة DEP-VA.JAR في جذر ملف جرة EJB. يحتوي مجلد Domain Lib في خادم التطبيق على الإصدار B من نفس المكتبة (دعنا نسميها DEP-VB.JAR). عند الاتصال بـ EJB ، أحصل على خطأ بسبب تحميل ملف dep-vb.jar بدلاً من dep-va.jar.

أعتقد أن الجزء الأول من هذا السؤال هو ، هل يقوم Sun One Application Server v9.1 بعزل EJBs عن بعضها البعض؟ كنت تحت الانطباع بأنه يفعل. ولكن يبدو أن تطبيقًا آخر تم تحميله dep-vb.jar وهذا eJB يستخدمه مباشرة دون تحميل خاص به.

والسؤال الثاني هو ، إذا قام خادم التطبيق بعزل EJBs ، فهل يقوم بتحميل التبعيات من ملف JAR الخاص بـ EJB قبل البحث في مجلدات LIB الخاصة بخادم التطبيق؟ كنت تحت الانطباع بأن هذا صحيح أيضًا ، لكن ربما لا ...

هل أي شخص مألوف بما فيه الكفاية مع خوادم تطبيق SUN لشرح سبب تحميل DEP-VB.JAR بدلاً من DEP-VA.JAR؟ هل هناك أي طريقة لجعلها لتحميل dep-va.jar دون تغيير ما هو موجود في مجلدات LIB لخادم التطبيق؟ (أود أن أتردد في فعل أي شيء قد يؤثر على التطبيقات الأخرى على الخادم)

شكرًا.

هل كانت مفيدة؟

المحلول

أعتقد أن الجزء الأول من هذا السؤال هو ، هل يقوم Sun One Application Server v9.1 بعزل EJBs عن بعضها البعض؟ كنت تحت الانطباع بأنه يفعل. ولكن يبدو أن تطبيقًا آخر تم تحميله dep-vb.jar وهذا eJB يستخدمه مباشرة دون تحميل خاص به.

وفق Sahoo (وهو مطور Glassfish) ، مواصفات Java EE لا ليس تفويض العزلة تحميل فئة بين وحدات أذن واحدة بحيث يمكن أن يكون السلوك مختلفًا عن خادم تطبيق إلى آخر. مع Sun One ، فهمي لـ توثيق هل يتم عزل EJB-Jars.

والسؤال الثاني هو ، إذا قام خادم التطبيق بعزل EJBs ، فهل يقوم بتحميل التبعيات من ملف JAR الخاص بـ EJB قبل البحث في مجلدات LIB الخاصة بخادم التطبيق؟ كنت تحت الانطباع بأن هذا صحيح أيضًا ، لكن ربما لا ...

إنها استراتيجية الوالدين الأولى (وعلى حد علمي ، تسمح Sun One بتغيير وضع التفويض لـ WebApps فقط).

أن يقال ، ماذا يحدث إذا أدرجت dep-vA.jar في ال Class-Path دخول MANIFEST.MF من EJB-JAR؟

أنظر أيضا

نصائح أخرى

لم أستخدم هذا الخادم المعين ، لكنني أعلم أنه في WebSphere ، هناك خيار لاستخدام Parent_First أو Parent_Last ClassLoading. كنت تبحث عن ما يعادل parent_last حيث يتم تحميل الفئات من الأذن أولاً قبل الصعود إلى الخادم.

أفترض أن مثل هذا التكوين ممكن في أي خادم تطبيق ، حيث يجب أن تكون قادرًا دائمًا على تطبيق الجرار المحددة للتطبيق الخاصة بك ليتم تحميلها على أي غيرها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top