2009-11-04 4 views
9

कहें कि मैं जावा ईई ऐप सर्वर के अंदर तैनात अनुप्रयोग के कुछ अजीब वर्ग लोडिंग मुद्दों को डीबग कर रहा हूं। किसी कारण से ऐसा प्रतीत होता है कि मेरे पास दो क्लासलोडर्स (2 अलग-अलग ईएआर क्लासलोडर) के वर्ग पथ पर डुप्लिकेट जार हैं, और इन क्लास लोडर के नामस्थानों के वर्गों को विस्तृत करने की आवश्यकता है।कक्षा लोडर पेड़ की तस्वीर देखने के लिए कोई उपकरण?

तो सवाल निम्न है: क्या कोई भी उपकरण मौजूद है जो वर्ग लोडर पेड़ की छवि (चित्र) को प्रत्येक वर्ग लोडर के भंडार के साथ दिखा सकता है? बेशक, यह बिल्कुल एक तस्वीर दिखाने के लिए बहुत महत्वपूर्ण नहीं है, अगर यह किसी प्रकार का गतिशील यूजर इंटरफेस हो सकता है (यानी विंडोज एक्सप्लोरर पेड़ फोल्डिंग/ओपनिंग की तरह), तो मैं बहुत खुश हूं।

यूपीडी: मैं जेबॉस 5.1 का उपयोग कर रहा हूं।

धन्यवाद

उत्तर

0

आप कौन से ऐप सर्वर का उपयोग कर रहे हैं?

इनके अतिरिक्त है, नहीं लगता कि इस तरह के उपकरण मौजूद है है।

3

जेबॉस में आप log all classloader events कर सकते हैं, जो आपको बताएगा कि आपकी विरोधाभासी कक्षाएं कहां हैं, यदि आप शब्दकोष से निकल सकते हैं।

या आप jmx-console पर जा सकते हैं, jboss.classloader अनुभाग ढूंढें, अपने कान के लिए प्रविष्टि (id="vfszip:/apps/jboss-5.1.0.GA/server/default/deploy/your.war/" जैसे कुछ) ढूंढें और उस क्लास के लिए findClassLoaderForClass का आह्वान करें जो आपको समस्याएं दे रहा है।

+0

लिंक सिर्फ jboss दस्तावेज़ दिखाता है। यह कहां ढूंढना है यह जानने में बहुत मददगार नहीं है? –

+0

लिंक अपडेट: https://access.redhat.com/site/documentation/en-US/JBoss_Enterprise_Application_Platform/4.3/html/Server_Configuration_Guide/Class_Loading_and_Types_in_Java-LinkageErrors___Making_Sure_You_Are_Who_You_Say_You_Are.html –