2008-11-07 11 views
5

मैं एक दूरस्थ प्रक्रिया से कुछ नैदानिक ​​जानकारी को बचाने के लिए जेएमएक्स का उपयोग कर रहा हूं। Jconsole में इंटरफ़ेस को देखते हुए दिखाता है कि वापसी का प्रकार CompositeData है (डेटा वास्तव में CompositeDataSupport के रूप में वापस आता है)। मैं इस ऑब्जेक्ट से जुड़े सभी कुंजी/मान जोड़े को आउटपुट करना चाहता हूं।कंपोजिटडेटा में कोई चाबियाँ नहीं हैं() विधि?

समस्या यह है कि इंटरफ़ेस में केवल "मान()" विधि होती है जिसमें कुंजी प्राप्त करने का कोई तरीका नहीं होता है। क्या मुझसे कोई चूक हो रही है? क्या इस कार्य तक पहुंचने का कोई और तरीका है?

धन्यवाद!

उत्तर

2

आप इस small program that prints the attributes of all JVM MBeans

के साथ एक अधिक पूर्ण उदाहरण मिल सकते हैं

विशेष रूप से:

StringBuffer writeCompositeData(StringBuffer buffer, 
      String prefix, String name, CompositeData data) { 
     if (data == null) 
      return writeSimple(buffer,prefix,name,null,true); 
     writeSimple(buffer,prefix,name,"CompositeData("+ 
       data.getCompositeType().getTypeName()+")",true); 
     buffer.append(prefix).append("{").append("\n"); 
     final String fieldprefix = prefix + " "; 
     for (String key : data.getCompositeType().keySet()) { 
      write(buffer,fieldprefix,name+"."+key,data.get(key)); 
     } 
     buffer.append(prefix).append("}").append("\n"); 
     return buffer; 
    } 

हिस्सा:

for (String key : data.getCompositeType().keySet()) { 
    [...] data.get(key) [...]; 
} 

जा रहा है क्या आप के बाद कर रहे हैं।

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