1 8 package mx4j.examples.tools.persister; 9 10 11 import javax.management.MBeanServer ; 12 import javax.management.MBeanServerFactory ; 13 import javax.management.ObjectName ; 14 import javax.management.loading.MLet ; 15 16 17 22 public class PersisterTest 23 { 24 private MBeanServer m_server = null; 25 26 public PersisterTest() 27 { 28 29 } 30 31 public void endExample() 32 { 33 System.out.println("----- example completed -----"); 34 MBeanServerFactory.releaseMBeanServer(m_server); 35 System.exit(0); 36 } 37 38 public void doDemo(String [] args) 39 { 40 String jarPath1 = args[0]; 41 String jarPath2 = args[1]; 42 String storePath = args[2]; 43 String filename = args[3]; 44 45 m_server = MBeanServerFactory.createMBeanServer("test"); 46 try 47 { 48 ObjectName mName1 = new ObjectName ("loading:test=mlet1"); 50 MLet mlet1 = new MLet (); 51 m_server.registerMBean(mlet1, mName1); 52 mlet1.addURL(jarPath1); 53 55 ObjectName mName2 = new ObjectName ("loading:test=mlet2"); 56 MLet mlet2 = new MLet (); 57 m_server.registerMBean(mlet2, mName2); 58 mlet2.addURL(jarPath2); 59 61 String mbeanClass1 = "mx4j.examples.tools.persister.MBeanOne"; 62 ObjectName mbeanName1 = new ObjectName ("test:name=MBeanOne"); 63 m_server.createMBean(mbeanClass1, mbeanName1, mName1, 64 new Object []{storePath, filename}, new String []{"java.lang.String", "java.lang.String"}); 65 66 String mbeanClass2 = "mx4j.examples.tools.persister.MBeanTwo"; 67 ObjectName mbeanName2 = new ObjectName ("test:name=MBeanTwo"); 68 m_server.createMBean(mbeanClass2, mbeanName2, mName2, new Object []{new Integer (15)}, 69 new String []{"java.lang.Integer"}); 70 71 m_server.invoke(mbeanName2, "storeIt", new Object []{m_server, mbeanName1}, 72 new String []{"javax.management.MBeanServer", "javax.management.ObjectName"}); 73 74 Object a = m_server.invoke(mbeanName2, "loadIt", new Object []{m_server, mbeanName1}, 75 new String []{"javax.management.MBeanServer", "javax.management.ObjectName"}); 76 77 if (a.getClass().getName() == mbeanClass2) System.out.println("Objects are equal and the same"); 78 } 79 catch (Exception ex) 80 { 81 ex.printStackTrace(); 82 } 83 finally 84 { 85 endExample(); 86 } 87 } 88 89 public static void usage() 90 { 91 System.out.println("Four arguments are needed to run this example:"); 92 System.out.println("arg[0] = <path to jar containing MBeanOne> eg: file:C:/dev/one.jar"); 93 System.out.println("arg[1] = <path to jar containing MBeanTwo> eg: file:C:/dev/two.jar"); 94 System.out.println("arg[2] = <path store file> eg: C:/dev"); 95 System.out.println("arg[3] = <name of file> eg: myMBean.ser"); 96 97 System.out.println("Program is exiting......."); 98 System.exit(1); 99 } 100 101 public static void main(String [] args) 102 { 103 PersisterTest test = new PersisterTest(); 104 if (args.length < 4) 105 { 106 usage(); 107 } 108 109 test.doDemo(args); 110 } 111 } 112 | Popular Tags |