1 8 9 package test.javax.management.remote; 10 11 import java.net.MalformedURLException ; 12 import java.util.HashMap ; 13 import javax.management.remote.JMXConnector ; 14 import javax.management.remote.JMXConnectorFactory ; 15 import javax.management.remote.JMXProviderException ; 16 import javax.management.remote.JMXServiceURL ; 17 18 import test.MX4JTestCase; 19 20 23 public class JMXConnectorFactoryTest extends MX4JTestCase 24 { 25 public JMXConnectorFactoryTest(String s) 26 { 27 super(s); 28 } 29 30 public void testInvalidURLs() throws Exception 31 { 32 try 33 { 34 JMXConnectorFactory.connect(null); 35 fail(); 36 } 37 catch (NullPointerException x) 38 { 39 } 40 } 41 42 public void testInvalidPackages() throws Exception 43 { 44 HashMap env = new HashMap (); 45 JMXServiceURL url = new JMXServiceURL ("service:jmx:rmi://host"); 46 47 env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, new Object ()); 49 try 50 { 51 JMXConnectorFactory.newJMXConnector(url, env); 52 fail("Only Strings can be specified as provider packages"); 53 } 54 catch (JMXProviderException x) 55 { 56 } 57 58 env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, ""); 60 try 61 { 62 JMXConnectorFactory.newJMXConnector(url, env); 63 fail("Provider package string cannot be empty"); 64 } 65 catch (JMXProviderException x) 66 { 67 } 68 69 env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, "dummy| |dummy"); 71 try 72 { 73 JMXConnectorFactory.newJMXConnector(url, env); 74 fail("Provider package string cannot contain an empty string"); 75 } 76 catch (JMXProviderException x) 77 { 78 } 79 } 80 81 public void testInvalidProtocol() throws Exception 82 { 83 JMXServiceURL url = new JMXServiceURL ("service:jmx:dummy://host"); 84 try 85 { 86 JMXConnectorFactory.newJMXConnector(url, null); 87 fail(); 88 } 89 catch (MalformedURLException x) 90 { 91 } 92 } 93 94 public void testInvalidClassLoader() throws Exception 95 { 96 HashMap env = new HashMap (); 97 JMXServiceURL url = new JMXServiceURL ("service:jmx:rmi://host"); 98 99 env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_CLASS_LOADER, new Object ()); 100 try 101 { 102 JMXConnectorFactory.newJMXConnector(url, env); 103 fail(); 104 } 105 catch (IllegalArgumentException x) 106 { 107 } 108 } 109 110 public void testLoadProviderWithProvidedClassLoader() throws Exception 111 { 112 HashMap env = new HashMap (); 113 JMXServiceURL url = new JMXServiceURL ("service:jmx:rmi://host"); 114 ClassLoader old = Thread.currentThread().getContextClassLoader(); 115 try 116 { 117 Thread.currentThread().setContextClassLoader(getClass().getClassLoader().getParent()); 118 env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_CLASS_LOADER, getClass().getClassLoader()); 119 JMXConnector connector = JMXConnectorFactory.newJMXConnector(url, env); 120 assertNotNull(connector); 121 } 122 finally 123 { 124 Thread.currentThread().setContextClassLoader(old); 125 } 126 } 127 128 public void testRMIProvider() throws Exception 129 { 130 JMXServiceURL url = new JMXServiceURL ("service:jmx:rmi://host"); 131 JMXConnector connector = JMXConnectorFactory.newJMXConnector(url, null); 132 assertNotNull(connector); 133 } 134 } 135 | Popular Tags |