1 16 package scriptella.execution; 17 18 import scriptella.AbstractTestCase; 19 20 import javax.management.MalformedObjectNameException ; 21 import javax.management.ObjectName ; 22 import java.lang.management.ManagementFactory ; 23 import java.net.MalformedURLException ; 24 import java.net.URL ; 25 26 32 public class JmxEtlManagerTest extends AbstractTestCase { 33 public void testRegistration() throws MalformedURLException , MalformedObjectNameException { 34 EtlContext ctx = new EtlContext(); 35 ctx.setBaseURL(new URL ("file:/tmp")); 36 JmxEtlManager m = new JmxEtlManager(ctx); 37 m.register(); 38 final ObjectName name = JmxEtlManager.toObjectName("file:/tmp", 0); 39 assertTrue(ManagementFactory.getPlatformMBeanServer().isRegistered(name)); 40 m.unregister(); 41 assertFalse(ManagementFactory.getPlatformMBeanServer().isRegistered(name)); 42 m = new JmxEtlManager(ctx); 44 m.register(); 45 JmxEtlManager m2 = new JmxEtlManager(ctx); 46 m2.register(); 47 final ObjectName name2 = JmxEtlManager.toObjectName("file:/tmp", 1); 48 assertTrue(ManagementFactory.getPlatformMBeanServer().isRegistered(name)); 49 assertTrue(ManagementFactory.getPlatformMBeanServer().isRegistered(name2)); 50 m.unregister(); 51 m2.unregister(); 52 assertFalse(ManagementFactory.getPlatformMBeanServer().isRegistered(name)); 53 assertFalse(ManagementFactory.getPlatformMBeanServer().isRegistered(name2)); 54 m = new JmxEtlManager(ctx); 56 m.register(); 57 try { 58 m.register(); 59 fail("Double registration must be reported"); 60 } catch (IllegalStateException e) { 61 } 63 m.unregister(); 64 } 65 66 public void testCancelAll() throws MalformedURLException { 67 EtlContext ctx = new EtlContext(); 68 ctx.setBaseURL(new URL ("file:/tmp")); 69 JmxEtlManager m = new JmxEtlManager(ctx); 70 m.register(); 71 JmxEtlManager m2 = new JmxEtlManager(ctx); 72 m2.register(); 73 ctx.setBaseURL(new URL ("file:/tmp2")); 74 JmxEtlManager m3 = new JmxEtlManager(ctx); 75 m3.register(); 76 assertEquals(3,JmxEtlManager.cancelAll()); 77 m.unregister(); 78 m2.unregister(); 79 m3.unregister(); 80 assertTrue(Thread.interrupted()); 82 83 } 84 85 } 86 | Popular Tags |