2012-07-10 15 views
5

I've downloaded the JMXMP extensions और उन्हें टॉमकैट की lib निर्देशिका में स्थापित किया गया। अब, मैं इसे कैसे उपयोग कर सकता हूं, यानी टॉमकैट को जेएमएक्सएमपी कनेक्शन स्वीकार करने दें?टोमकैट में जेएमएक्सएमपी कैसे सक्षम करें?

  • ओरेकल के उदाहरण दिखाते हैं कि कोड के साथ इसे कैसे किया जाए, जिसके लिए मुझे अपना खुद का श्रोता लिखना होगा, जिसे मैं अंतिम उपाय के रूप में रखना चाहता हूं।
  • Tomcat's JMX listener में जेएमएक्सएमपी समर्थन शामिल नहीं है।

उत्तर

2

ठीक है, मैंने अपना खुद का जेएमएक्सएमपी टॉमकैट श्रोता लिखा था। उपयोग करने के लिए स्वतंत्र महसूस:

package webersg.tomcat; 

import java.lang.management.ManagementFactory; 

import javax.management.remote.JMXConnectorServer; 
import javax.management.remote.JMXConnectorServerFactory; 
import javax.management.remote.JMXServiceURL; 

import org.apache.catalina.Lifecycle; 
import org.apache.catalina.LifecycleEvent; 
import org.apache.catalina.LifecycleListener; 

public class JMXMPLifecycleListener implements LifecycleListener { 

    private int port = 5555; 

    private JMXConnectorServer cs; 

    @Override 
    public void lifecycleEvent(LifecycleEvent event) { 

     try { 

      // START 
      if (Lifecycle.START_EVENT == event.getType()) { 

       System.out.println("Start JMXMP on port " + port); 

       cs = JMXConnectorServerFactory.newJMXConnectorServer(
         new JMXServiceURL("jmxmp", "0.0.0.0", port), 
         null, 
         ManagementFactory.getPlatformMBeanServer() 
       ); 
       cs.start(); 

       System.out.println("Started JMXMP"); 

      } 

      // STOP 
      else if (Lifecycle.STOP_EVENT == event.getType()) { 

       System.out.println("Stop JMXMP"); 

       cs.stop(); 
      } 

     } catch (Exception e) { 
      throw new RuntimeException(e); 
     } 
    } 

} 

तो इस मुद्दे पर मेरे सिर को तोड़ने के एक दिन के बाद, अब मैं अपने आवेदन पर VisualVM उपयोग करने में सक्षम हूँ।

3

मैं एक mvn प्रदान की निर्भरता के रूप में की जरूरत बिल्ला-Catalina साथ Bart von Heukeloms' answer के आधार पर प्रोजेक्ट बनाया: jmxmp-lifecycle-listener

बस बिल्ला के server.xml करने में खामियों को दूर किया जाना है:
<Listener className="javax.management.remote.extension.JMXMPLifecycleListener" port="5555" />

मैं पर्याप्त नहीं है प्रतिष्ठा, अन्यथा मैं इसे एक टिप्पणी के रूप में पोस्ट किया होगा।

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