package net.sbbi.upnp.samples; /*import java.util.HashMap; import java.util.Map; import javax.management.MBeanServer; import javax.management.ObjectName; import javax.management.remote.JMXConnectorServer; import javax.management.remote.JMXConnectorServerFactory; import javax.management.remote.JMXServiceURL; import net.sbbi.upnp.jmx.UPNPMBeanDevice; import net.sbbi.upnp.jmx.upnp.UPNPConnectorServer; import java.lang.management.ClassLoadingMXBean; import java.lang.management.ManagementFactory; import java.lang.management.MemoryMXBean; import java.lang.management.RuntimeMXBean; import java.lang.management.ThreadMXBean;*/ /** * Sample class to expose JRE 1.5 JVM MBeans as UPNP devices * @author <a href="mailto:superbonbon@sbbi.net">SuperBonBon</a> * @version 1.0 */ public class JDK5ManagmentAsUpnp { public static void main( String[] args ) { /*Runnable runnable = new Runnable() { public void run() { UPNPMBeanDevice jdk5Device = new UPNPMBeanDevice( "JDK5Management", 1, "SBBI", "JDK 5 UPNP JMX Interface", "UPNPLIB", null ); UPNPMBeanDevice jdk5Device2 = new UPNPMBeanDevice( "JDK5Management", 1, "SBBI", "JDK 5 UPNP JMX Classloader Interface", "UPNPLIB", "BEAN2" ); try { MBeanServer defaultServer = ManagementFactory.getPlatformMBeanServer(); JMXServiceURL url = new JMXServiceURL( "service:jmx:upnp://192.168.0.3:8080" ); Map env = new HashMap(); env.put( JMXConnectorServerFactory.PROTOCOL_PROVIDER_PACKAGES, "net.sbbi.upnp.jmx" ); env.put( UPNPConnectorServer.EXPOSE_MBEANS_AS_UPNP_DEVICES, Boolean.TRUE ); env.put( UPNPConnectorServer.EXPOSE_EXISTING_MBEANS_AS_UPNP_DEVICES, Boolean.TRUE ); JMXConnectorServer connectorServer = JMXConnectorServerFactory.newJMXConnectorServer( url, env, null ); String upnpConnectorBeanName = "Connectors:protocol=upnp,host=192.168.0.3,port=8080"; ObjectName cntorServerName = ObjectName.getInstance( upnpConnectorBeanName ); defaultServer.registerMBean( connectorServer, cntorServerName ); connectorServer.start(); RuntimeMXBean mbean = ManagementFactory.getRuntimeMXBean(); ObjectName name = new ObjectName( ManagementFactory.RUNTIME_MXBEAN_NAME ); jdk5Device.addService( mbean, name, defaultServer, "RUNTIME_MXBEAN", "RUNTIME_MXBEAN_TYPE", 1 ); ThreadMXBean mbeanThread = ManagementFactory.getThreadMXBean(); name = new ObjectName( ManagementFactory.THREAD_MXBEAN_NAME ); jdk5Device.addService( mbeanThread, name, defaultServer, "THREAD_MXBEAN_NAME", "THREAD_MXBEAN_NAME_TYPE", 1 ); MemoryMXBean mbeanMem = ManagementFactory.getMemoryMXBean(); name = new ObjectName( ManagementFactory.MEMORY_MXBEAN_NAME ); jdk5Device.addService( mbeanMem, name, defaultServer, "MEMORY_MXBEAN_NAME", "MEMORY_MXBEAN_NAME_TYPE", 1 ); ClassLoadingMXBean clBean = ManagementFactory.getClassLoadingMXBean(); name = new ObjectName( ManagementFactory.CLASS_LOADING_MXBEAN_NAME ); jdk5Device2.addService( clBean, name, defaultServer, "CLASS_LOADING_MXBEAN_NAME", "CLASS_LOADING_MXBEAN_NAME_TYPE", 1 ); jdk5Device.addChildMBean( jdk5Device2 ); System.out.println( "devices created" ); jdk5Device.start(); System.out.println( "devices started" ); } catch ( Exception ex ) { ex.printStackTrace(); return; } while ( true ) { try { Thread.sleep( 1000 ); } catch ( InterruptedException intEx ) { Thread.currentThread().interrupt(); break; } } try { jdk5Device.stop(); System.out.println( "devices stopped" ); } catch ( Exception ex ) { ex.printStackTrace(); } } }; Thread thrd = new Thread( runnable ); thrd.setDaemon( false ); thrd.start();*/ } }