2012-07-30 16 views
12

मैं अपने अनुप्रयोगों को तैनात करने के लिए टोमकैट का उपयोग कर रहा हूं, मैं एकाधिक संदर्भ पथों को सर्वर करने के लिए एक एकल युद्ध के रूप में तैनात करना चाहता हूं।मैं टोमकैट में एक ही युद्ध फ़ाइल में एकाधिक संदर्भों को कैसे मैप कर सकता हूं?

वर्तमान में मेरे पास app1.war और app2.war है, लेकिन दोनों में समान सामग्री है, केवल http: //// app1 और http: ///app1.war के माध्यम से पहुंच के लिए नाम अलग है। लेकिन मैं ऐसा करना चाहता हूं, app.war को तैनात करें और ऐप 1 और एप 2 संदर्भ पथ दोनों द्वारा एक्सेस करें। क्या टोमकैट में करना संभव है? कृपया मुझे

+1

क्या यह अभी भी वही वेबैप (समान स्थानीय डेटा साझा करना) होना चाहिए या क्या वेबपैप्स वास्तव में अलग उदाहरण होना चाहिए? – Daniel

उत्तर

20

से मेरी सहायता करें, यह कई तरीकों से किया जा सकता है। मुझे लगता है कि इस तरह से सबसे स्पष्ट है:

  1. ले जाएँ अपने युद्ध फ़ाइल से webapps/ ऑटो तैनात निर्देशिका के बाहर
  2. निकालें META-INF/context.xml युद्ध फ़ाइल। अपने युद्ध एक META-INF/context.xml फ़ाइल नहीं है, बस एक फ़ाइल में यह
  3. कॉपी के अलावा कुछ नहीं <Context /> के साथ इस फ़ाइल app1.xml और app2.xml दोनों के रूप में बिलाव के conf/[service]/[host]/ निर्देशिका में इस्तेमाल करते हैं। ([सेवा] आमतौर पर "कैटालिना" होती है और [होस्ट] जो भी आपके वर्चुअल होस्ट का नाम है: डिफ़ॉल्ट टॉमकैट कॉन्फ़िगरेशन पर, होस्टनाम हमेशा "लोकलहोस्ट" होता है)।
  4. संपादित दोनों app1.xml और app2.xml और <Context> तत्व युद्ध फ़ाइल आप 1
  5. फिर से शुरू बिलाव कदम # में ले जाया को इंगित करने के लिए docBase विशेषता निर्धारित

यह चाहिए आप एक ही शारीरिक देने के लिए डब्ल्यूएआर फ़ाइल और इससे जुड़े कई संदर्भ।

हालांकि बिलाव इस विन्यास का समर्थन करता है, मैं इसके खिलाफ सलाह देते हैं: डिस्क स्थान सस्ता है, यह क्रम में कुछ भी नहीं बदलता है (यदि आप अभी भी स्मृति में सब कुछ की दो प्रतियां प्राप्त), और आप विभिन्न संदर्भों के लिए विभिन्न युद्ध फ़ाइलों की तैनाती के लचीलेपन खोना और/या दोनों कॉन्फ़िगरेशन संदर्भों को कॉन्फ़िगर किए बिना उन्हें अलग से अपडेट कर रहा है।

यदि आप मेरी सलाह चाहते हैं, तो WAR फ़ाइलों को डुप्लिकेट करने के लिए चिपके रहें।

+0

मुझे लगता है कि मैं डुप्लिकेट WARS पर चिपके रहने के साथ सहमत हूं, लेकिन मैं एक समान स्थिति में हूं और यह पाया कि एक सतत डिलीवरी पाइपलाइन के माध्यम से धक्का देने के लिए एक आर्टिफैक्ट होना बहुत साफ है। यह भी उल्लेखनीय है कि यदि आप मेजबान ऐपबेस के बाहर WARs डालते हैं, तो उन्हें अनपॅक नहीं किया जा सकता है (टॉमकैट v7 के रूप में), इसलिए यदि आपके पास कोई ऐप है (जैसे मैं करता हूं, दुख की बात है) जिसके लिए अनपॅकिंग की आवश्यकता है, उपरोक्त नहीं है एक विकल्प। – Conan

+1

ऐसे WARs * को अनपॅक किया जा सकता है, लेकिन आपको उन्हें स्वयं अनपैक करना होगा। निश्चित रूप से यह सब स्क्रिप्ट करना संभव है। –

संबंधित मुद्दे

 संबंधित मुद्दे