/* * JMXManager.java * * Created on June 9, 2005, 9:36 AM */ package gencodeExample; import java.util.Iterator; import java.util.Map; import java.util.HashMap; import java.util.Set; import javax.management.MBeanServerConnection; import javax.management.remote.JMXConnector; import javax.management.remote.JMXConnectorFactory; import javax.management.remote.JMXServiceURL; /** * JMX Manager class. * @author an156382 */ public class JMXManager { /** * @param args the command line arguments */ public static void main(String[] args) throws Exception { //manager object construction JMXManager manager = JMXManager.getDefault(); /* *** SAMPLE MBEAN NAME DISCOVERY *** */ /* Set resultSet = manager.getMBeanServerConnection().queryNames(null, null); for(Iterator i = resultSet.iterator(); i.hasNext();) { System.out.println("MBean name: " + i.next()); } */ //close connection manager.close(); System.out.println("Connection closed."); } /** * JMX Agent connection */ public void connect() throws Exception { //RMI Authentication Map map = new HashMap(); map.put(JMXConnector.CREDENTIALS, new String[]{"alex", "mypasswd"}); //Create JMX Agent URL JMXServiceURL url = new JMXServiceURL("rmi", null, 0, "/jndi/rmi://jmxrmi") ; //Connect the JMXConnector connector = JMXConnectorFactory.connect(url, map); //Get the MBeanServerConnection mbsc = connector.getMBeanServerConnection(); } /** * Returns a manager singleton. */ public synchronized static JMXManager getDefault() throws Exception { if(singleton == null) { singleton = new JMXManager(); singleton.connect(); } return singleton; } public MBeanServerConnection getMBeanServerConnection() { return mbsc; } public void close() throws Exception { //Close the connection connector.close(); } //MBeanServerConnection definition private MBeanServerConnection mbsc; //The JMX Connector definition private JMXConnector connector; //Singleton instance private static JMXManager singleton; }