2010-03-12 11 views
13

मैं टॉमकैट सीआई तैयार या एक सर्वलेट कंटेनर/एप्लिकेशन कंटेनर बनाने के संकेत के बारे में सोच रहा हूं जो हडसन सीआई का उपयोग करते समय अक्सर पुन: नियोजित होता है।क्या टॉमकैट 6 निरंतर एकीकरण के लिए तैयार है या इसे कैसे प्राप्त किया जाए?

मुझे लगा कि टॉमकैट 6 वेबपैप्स को ठीक से बेकार नहीं करता है, जो कक्षाओं में जेवीएम छोड़ देता है। पुनर्वितरित 4000 के बाद शुरू 2000 वर्गों पर, कोई एप्लिकेशन 3000 की तैनाती पर और 5000 वर्गों और इतने पर पुनर्वितरित - दुर्घटनाओं, मेमोरी लीक करने के लिए अग्रणी ...

ठीक है आशा:

उदाहरण के लिए मैं VisualVM साथ बिल्ला 6 नजर रखी किसी को टॉमकैट और निरंतर एकीकरण या अन्य ऐप सर्वर पर संकेत मिलता है।

+0

मैं * इसके * जवाब भी देखना चाहूंगा। हमारे पास पर्मजेन मेमोरी त्रुटियों आदि के साथ समान समस्याएं हैं, हमारे सीआई ऑटोोडिविटी के साथ टोमकैट 6. – Pete

+0

नवीनतम टोमकैट संस्करण चल रहा है? संदर्भ रीलोड पर ठीक से साफ नहीं किया गया है, इसके बारे में लॉग इन करने में अधिक त्रुटि है। यदि आप mysql का उपयोग करते हैं, तो कनेक्टर/जे 5.1.12 प्राप्त करें, क्योंकि यह थ्रेड रिसाव को ठीक करता है, जो टोमकैट में भारी रीलोड लीक का कारण बनता है। – nos

+0

हम mysql या कनेक्टर के बिना छोटे ऐप्स का उपयोग करते हैं। वसंत, सरल हैलो वर्ल्ड जेएसपी एपीएस और इतने पर छोटे उदाहरण एप्स। – jpse

उत्तर

7

अद्यतन: मैं एक मामूली जटिल वेब स्प्रिंग, हाइबरनेट, GWT, C3P0 और HSQLDB का उपयोग कर आवेदन के साथ कुछ परीक्षण किए गए हैं।

स्टॉक टॉमकैट 6.0.24 बस ठीक काम करता है, बशर्ते आप क्लाइंट कंपाइलर का उपयोग करें। यह दस पुनर्वित्त पर काम करता है, जबकि सर्वर संकलक चौथे स्थान पर टूट जाता है। मेरा सुझाव है कि आप -client ध्वज के साथ प्रयास करें।

सर्वर कंपाइलर के उपयोग को डीबग करने का प्रयास निष्फल था, क्योंकि एक्लिप्स मैट ने क्लासलोडरों के लिए कोई जीसी जड़ें नहीं दिखायीं, और फिर भी उन्हें बनाए रखा गया। एक बार बार संदर्भित बग, PermHeap bloat in and only in server VM कथित तौर पर जावा 6 अद्यतन 16 में तय किया गया था, लेकिन मेरे परीक्षण जावा 6 अद्यतन के साथ विफल 16.


बिलाव चेक किया गया है और इस तरह के स्मृति समस्याओं के लिए दोबारा जांच करने, और अक्सर आवेदन दोष थे। ऐसा नहीं है कि ऐसा नहीं है कि इस तरह के परम जीन रिसाव होना मुश्किल है।

यहाँ दो संभावनाएं हैं:


आप वास्तव में इस समस्या को डिबग और यकीन है कि यह बिलाव की गलती है बनाना चाहते हैं, तो आप आप Eclipse memory analyser कर सकते हैं। उनके पास blog post explaining how to debug PermGen problems अच्छा है।

+0

हाय, आपने कहा कि जीसीसी टूट गया है ... आप इसका क्या मतलब है। क्या कोई परीक्षण है? वैसे भी, हाँ वास्तव में समस्या अक्सर परेशानी का कारण बनती है, इसलिए हम नमूना ऐप्स का उपयोग करते हैं जैसे कि वे लाखों बार उपयोग करते हैं। नई रिसाव पहचान सुविधा दुर्भाग्य से समस्या को हल नहीं करती है, लेकिन सही दिशा में एक अच्छा कदम है और यह समझने में हाथ की मदद कर रहा है कि क्या हो रहा है ... – jpse

+0

हां, जीसीसी संदर्भ काफी अपारदर्शी है, क्षमा करें। मेरा कहना है कि हम डेवलपर्स के रूप में अन्य घटकों को दोष देने की प्रवृत्ति रखते हैं - एप्लिकेशन सर्वर, ओएस, ब्रह्मांडीय किरण :-) उन समस्याओं के लिए जिन्हें हम समझा नहीं सकते हैं। मैंने इसे कई बार किया है, और लगभग हमेशा मेरे कोड में गलती मिली है। –

+0

@Robert ग्रहण लिंक – jpse

1

मैं हमेशा यह सुनिश्चित करें कि सब कुछ साफ है और एक पूरी तरह से प्रतिलिपि प्रस्तुत करने योग्य स्थिति में है बनाने के लिए जब

1 शुरू) कठोर उपाय करने के लिए को मारने की तरह बिल्ला

2) डिस्क से हटा

3) एक साफ संस्करण

4) अपने निजीकृत संशोधित कॉन्फ़िगर किया गया फ़ाइलों के ऊपर लिख अनज़िप

5) को पुनः आरंभ बिल्ला

6) को तैनात अपने अनुप्रयोग

+0

धन्यवाद, हम परीक्षण के लिए उपयोग ताजा स्वच्छ बिल्ला है, कोई फेरबदल आवेदन किया, thats नहीं वास्तव में बात ... – jpse

+0

हालांकि यह "सबसे सुरक्षित" दृष्टिकोण है, यह भी स्थापित करने के लिए और अधिक बोझिल हो जाएगा, खासकर अगर आपके पास सीआई (देव, अल्फा, प्रजनन इत्यादि) द्वारा कई टोमकैट सर्वर udpate। आपको आवश्यक होने के लिए इन कठोर उपायों को क्यों महसूस किया गया था (esp। टोमकैट पुनर्स्थापित)? – sleske

-1

Apache Cactus पर एक नजर डालें - यह सर्वर साइड में कंटेनर इकाई परीक्षण के लिए एक रूपरेखा है। यह किसी भी सर्वलेट कंटेनर के साथ बहुत अधिक काम करता है।

+0

अपाचे कैक्टस दिलचस्प है, लेकिन मुझे नहीं लगता कि यह सवाल से कैसे संबंधित है, जो अक्सर पुन: तैनाती के कारण होने वाली समस्याओं के बारे में है। – sleske

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

  • कोई संबंधित समस्या नहीं^_^