Wie bekomme ich Daten per MBean

Ich bin Implementierung einer servlet als JMX-manager, der läuft in der gleichen Instanz von Tomcat zu, dass alle von der überwachten servlets ausgeführt werden. Ich kann sehen, dass die Daten der überwachten servlets, wenn ich offen JConsole. Aus meiner manager-servlet kann ich aufzählen, die alle verfügbaren standard-MBeans, auch die, die ich erstellt habe in den überwachten servlets, mit diesem code wie dieser:

JMXServiceURL url = new JMXServiceURL(        "service:jmx:rmi://localhost:1099/jndi/rmi://localhost:1099/jmxrmi" );

mConnector = JMXConnectorFactory.connect( url );
mMBSC = mConnector.getMBeanServerConnection();
mObjectName = new ObjectName( "com.blahCompany.blah.blah:type=BlahBlah" );

//just looking for one specific bean
Set<ObjectName> myMbean = mMBSC.queryNames( mObjectName, null );

if( myMBean.size() == 1 ) //I know it exists
{
     MBeanInfo mbeanInfo = mMBSC.getMBeanInfo( <ObjectName extracted from Set> );
     MBeanAttributeInfo[] mbeanAttributeInfos = mbeanInfo.getAttributes();

     for( MBeanAttributeInfo attribInfo : mbeanAttributeInfos )
     {
         if( attribInfo.isReadable() )
         {
             String attribName = attribInfo.getName();
             String attribReturnType = attribInfo.getType();

             //The data's somewhere ... where????
             //In the MBeanInfo?
             //In the MBeanAttributeInfo??
         }
     }
}

Das problem ist, ich weiß nicht, wie Sie tatsächlich extrahieren Sie die Daten von diesen MBeans. Die Antwort muss sein godawful der Hand, weil sonst niemand zu haben scheint gefragt, aber ich habe ein Geschenk für den Blick auf das offensichtliche. Ihre Hilfe wird dankbar geschätzt.

Bill

Ich aktualisiert meine Antwort mit einem Hinweis über lokalen Zugriff auf den mbean-server, der von dem, was ich verstehe, aus Ihrer Frage ist, was Ihre situation erfordert (keine Notwendigkeit zum herstellen einer Verbindung über URL). Ich Stell mir das wäre die Leistung besser als mit der remote-Verbindung.

InformationsquelleAutor joe7pak | 2012-03-05

Schreibe einen Kommentar