2009-10-01 6 views
10

2 webapps है:एक नियत क्रम में बिल्ला में webapps शुरू

WebApp 2 WebApp 1

से निर्भर करता है WebApp 1 नहीं चल रहा है, WebApp 2 विफल रहता है

मैं बिल्ला में परिभाषित कर सकता हूँ कि मैं हमेशा चाहता हूं कि वेबपैप 1 वेबपैड 2 से पहले शुरू होता है?

+3

आश्चर्य है कि इस मुद्दे के लिए कोई समाधान मिल गया है? –

+0

यदि आप इसे व्यवस्थित कर सकते हैं कि WebApp 1 पर कोई अनुरोध नहीं किया जाता है जब तक कि टॉमकैट पूरी तरह से ऊपर नहीं हो जाता है, संभवतः वेबएप 2 को फिर से कोड करने के लिए वेबपृष्ठ 1 पर पहले से अनुरोध पर निर्भर करता है। –

+0

एक हैकी रास्ता है। http://stackoverflow.com/questions/8793891/tomcat-starting-webapps-in-a-specific-order/16976047#16976047 –

उत्तर

9

(http://wiki.apache.org/tomcat/FAQ/Miscellaneous#Q27 पर) अपाचे विकि के अनुसार:

कोई उम्मीद स्टार्टअप आदेश है। न तो सर्वलेट spec और न ही टोमकैट परिभाषित करें। आप किसी विशेष आदेश से शुरू होने वाले ऐप्स पर भरोसा नहीं कर सकते हैं।

0

यह सच है कि टॉमकैट तैनाती आदेश को लागू करने का कोई तरीका प्रदान नहीं करता है।

1. किसी भी प्रसंग वर्णनकर्ता पहले तैनात किया जाएगा:

बिलाव निम्न क्रम में webapps तैनात।

2. किसी भी संदर्भ वर्णनकर्ता द्वारा संदर्भित नहीं किए गए वेब अनुप्रयोगों को तब तैनात किया जाएगा। वे appBase में एक संबद्ध .WAR फ़ाइल है और यह विस्फोट वेब अनुप्रयोग से अधिक नया है, तो विस्फोट हो गया निर्देशिका को हटा दिया जाएगा और webapp

तैनात किया जाएगा .WAR

3.WAR फाइलों से पुन: वितरित किया जाएगा

यहाँ एक प्रस्तावित समाधान है:

आप तो तैनाती क्रम निर्दिष्ट $ CATALINA_BASE/conf/[EngineName]/[होस्टनाम] /MyApp.xml

में अपने वेब अनुप्रयोग के लिए एक संदर्भ निर्धारित करना चाहते हैं

टोमकैट $ CATALINA_BASE/conf/[enginename]/[hostname]/फ़ाइल सूचीफाइल() को निष्पादित करके स्कैन करता है जो हैश मान (ओएस आश्रित) द्वारा क्रमबद्ध फ़ाइल सरणी देता है।

आप नीचे दिए गए कोड की जांच करने, जिसमें आदेश webapps तैनात किया जाएगा

फ़ाइल फ़ाइल = नई फ़ाइल का उपयोग कर सकते ("/ opt/बिल्ला/conf/कैटालिना/स्थानीय होस्ट"); फ़ाइल [] फाइलें = file.listFiles(); (फ़ाइल एफ: फाइलें) { System.out.println ("फ़ाइल नाम:" + f.getName()); मजबूत पाठ

0

लिफ़ेरे ने होस्टकॉन्फ़िग को इस तरह से ओवरराइड किया है जो इसे संभव बनाता है। मूल विचार HostConfig को विस्तारित करना है, और उसके बाद अनुप्रयोगों को सॉर्ट करने के तरीके को सॉर्ट करने के लिए डिस्प्लेर्स, डिप्लोवार्स और तैनाती निर्देशिकाओं को तैनात करने के लिए या तो तैनाती एपपीएस या व्यक्तिगत विधियों को ओवरराइड करें। फिर होस्ट तत्व में विशेषता होस्टकोनफिग क्लास जोड़कर टॉमकैट के conf/server.xml को संशोधित करें।

विवरण के लिए http://www.javadocs.com/docs/com.liferay.portal/support-tomcat/6.2.0/com/liferay/support/tomcat/startup/PortalHostConfig.java देखें।

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