سؤال

أنا أعمل في مشروع يحتوي على العديد من WebApps (الحروب) المصممة مع Maven ونشرها في Java EE.

تشترك هذه الحروب في العديد من الجرار التجارية الشائعة (مثل واحدة تحتوي على كائنات المجال التي يتم تحميلها من السبات) وغيرها من الجرار الإطارية مثل الربيع و hibernate.

يستخدمون Spring MVC ، ويقوم سياق التطبيق بتحميل السبات. نظرًا لأن كل حرب لديها classpath الخاصة بها في حاوية Servlet ، فإن ذاكرة التخزين المؤقت لـ Hibernate (Ehcache) لم يتم مشاركتها.

ما أحب هو مشاركة ذاكرة التخزين المؤقت وأيضًا حبة مصنع جلسة السبات (وكذلك الفاصوليا الشائعة الأخرى) بين الحروب المختلفة. أعتقد أن هذا ممكن عن طريق إعادة تعبئة تلك الحروب داخل الأذن ، ثم يجب أن أقوم بتكوين Spring Configuration XML باستخدام حبوب المشاعات هذه وفي فصل الربيع في الحرب ، استخدم شيء مثل SingletonBeanfactoryLocator من ما قرأته.

ما أطلبه هنا هو ما إذا كانت هناك طريقة بسيطة للقيام بذلك ، وتقليل التغييرات على POMs "الحروب"

ملاحظة: أنا على دراية بالحروب ، Tomcat و Servlets ، ولكن ليس كثيرًا مع الأذنين.

شكرا لك مقدما.

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

المحلول

هممم ... تستخدم معظم حاويات Java EE قوالي صفات معزولة للحروب ، حتى في الأذن (حتى لو كانت مواصفات Java EE تعمل ليس تفويض عزل تحميل فئة بين وحدات أذن واحدة) لذلك لا أتوقع الكثير من عبوة الأذن ، خاصة إذا كنت تريد أن يظل تطبيقك محمولًا (أي إذا كنت لا ترغب في الاعتماد على أي سلوك محدد لخادم التطبيق) .

الآن ، إذا كان من المنطقي حقًا مشاركة مصنع الجلسة الخاص بك وذاكرة التخزين المؤقت من المستوى الثاني بين العديد من التطبيقات ، فربما تفكر في دمجها في حرب واحدة. سيكون ذلك أسهل طريقة IMO. لكنني سأغري أن أسأل لماذا هم منفصلون من ثم؟ عندما تكون الطلبات منفصلة ، يكون لديهم معظم الوقت منفصل الحكم ولا أعرف ما إذا كان نشرها معًا سيكون فكرة جيدة في مثل هذه الحالة.

وإذا لم يكن دمج الحروب خيارًا ، فالرجاء إخبارنا بأي الحاوية التي تستخدمها.

نصائح أخرى

هل فكرت في الاستفادة من ذاكرة التخزين المؤقت L2 متماسكة؟ إذا كنت تستخدم خوادم تطبيقات متعددة ، فقد ترى المزيد من الفائدة ، حيث ستشارك جميعًا نفس ذاكرة التخزين المؤقت المتماسكة

باستخدام سياق تطبيق الأصل المشترك في تطبيق الربيع متعدد الحرب

http://blog.springsource.org/2007/06/11/using-a-sared-parent-application-context-in-a-multi-war-spring-application/

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