KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > test > javax > management > remote > JMXConnectorFactoryTest


1 /*
2  * Copyright (C) The MX4J Contributors.
3  * All rights reserved.
4  *
5  * This software is distributed under the terms of the MX4J License version 1.0.
6  * See the terms of the MX4J License in the documentation provided with this software.
7  */

8
9 package test.javax.management.remote;
10
11 import java.net.MalformedURLException JavaDoc;
12 import java.util.HashMap JavaDoc;
13 import javax.management.remote.JMXConnector JavaDoc;
14 import javax.management.remote.JMXConnectorFactory JavaDoc;
15 import javax.management.remote.JMXProviderException JavaDoc;
16 import javax.management.remote.JMXServiceURL JavaDoc;
17
18 import test.MX4JTestCase;
19
20 /**
21  * @version $Revision: 1.9 $
22  */

23 public class JMXConnectorFactoryTest extends MX4JTestCase
24 {
25    public JMXConnectorFactoryTest(String JavaDoc s)
26    {
27       super(s);
28    }
29
30    public void testInvalidURLs() throws Exception JavaDoc
31    {
32       try
33       {
34          JMXConnectorFactory.connect(null);
35          fail();
36       }
37       catch (NullPointerException JavaDoc x)
38       {
39       }
40    }
41
42    public void testInvalidPackages() throws Exception JavaDoc
43    {
44       HashMap JavaDoc env = new HashMap JavaDoc();
45       JMXServiceURL JavaDoc url = new JMXServiceURL JavaDoc("service:jmx:rmi://host");
46
47       // Only Strings
48
env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_PACKAGES, new Object JavaDoc());
49       try
50       {
51          JMXConnectorFactory.newJMXConnector(url, env);
52          fail("Only Strings can be specified as provider packages");
53       }
54       catch (JMXProviderException JavaDoc x)
55       {
56       }
57
58       // Empty not allowed
59
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 JavaDoc x)
66       {
67       }
68
69       // Empty not allowed
70
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 JavaDoc x)
77       {
78       }
79    }
80
81    public void testInvalidProtocol() throws Exception JavaDoc
82    {
83       JMXServiceURL JavaDoc url = new JMXServiceURL JavaDoc("service:jmx:dummy://host");
84       try
85       {
86          JMXConnectorFactory.newJMXConnector(url, null);
87          fail();
88       }
89       catch (MalformedURLException JavaDoc x)
90       {
91       }
92    }
93
94    public void testInvalidClassLoader() throws Exception JavaDoc
95    {
96       HashMap JavaDoc env = new HashMap JavaDoc();
97       JMXServiceURL JavaDoc url = new JMXServiceURL JavaDoc("service:jmx:rmi://host");
98
99       env.put(JMXConnectorFactory.PROTOCOL_PROVIDER_CLASS_LOADER, new Object JavaDoc());
100       try
101       {
102          JMXConnectorFactory.newJMXConnector(url, env);
103          fail();
104       }
105       catch (IllegalArgumentException JavaDoc x)
106       {
107       }
108    }
109
110    public void testLoadProviderWithProvidedClassLoader() throws Exception JavaDoc
111    {
112       HashMap JavaDoc env = new HashMap JavaDoc();
113       JMXServiceURL JavaDoc url = new JMXServiceURL JavaDoc("service:jmx:rmi://host");
114       ClassLoader JavaDoc 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 JavaDoc 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 JavaDoc
129    {
130       JMXServiceURL JavaDoc url = new JMXServiceURL JavaDoc("service:jmx:rmi://host");
131       JMXConnector JavaDoc connector = JMXConnectorFactory.newJMXConnector(url, null);
132       assertNotNull(connector);
133    }
134 }
135
Popular Tags