KickJava   Java API By Example, From Geeks To Geeks.

Java > Open Source Codes > org > jboss > test > jmx > test > RMIAdaptorUnitTestCase


1 /*
2   * JBoss, Home of Professional Open Source
3   * Copyright 2005, JBoss Inc., and individual contributors as indicated
4   * by the @authors tag. See the copyright.txt in the distribution for a
5   * full listing of individual contributors.
6   *
7   * This is free software; you can redistribute it and/or modify it
8   * under the terms of the GNU Lesser General Public License as
9   * published by the Free Software Foundation; either version 2.1 of
10   * the License, or (at your option) any later version.
11   *
12   * This software is distributed in the hope that it will be useful,
13   * but WITHOUT ANY WARRANTY; without even the implied warranty of
14   * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
15   * Lesser General Public License for more details.
16   *
17   * You should have received a copy of the GNU Lesser General Public
18   * License along with this software; if not, write to the Free
19   * Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA
20   * 02110-1301 USA, or see the FSF site: http://www.fsf.org.
21   */

22 package org.jboss.test.jmx.test;
23
24 import java.util.Iterator JavaDoc;
25
26 import javax.management.MBeanInfo JavaDoc;
27 import javax.management.ObjectName JavaDoc;
28 import javax.naming.InitialContext JavaDoc;
29
30 import org.jboss.jmx.adaptor.rmi.RMIAdaptor;
31 import org.jboss.test.JBossTestCase;
32
33 /**
34  * Tests over the RMIAdaptor
35  *
36  * @author <a HREF="mailto:dimitris@jboss.org">Dimitris Andreadis</a>
37  * @version <tt>$Revision: 37406 $</tt>
38  */

39 public class RMIAdaptorUnitTestCase extends JBossTestCase
40 {
41    public RMIAdaptorUnitTestCase(String JavaDoc name)
42    {
43       super(name);
44    }
45
46    /**
47     * Test that we can iterate and retrieve MBeanInfo
48     * for all registered MBeans
49     *
50     * @throws Exception
51     */

52    public void testMBeanInfoMarshalling() throws Exception JavaDoc
53    {
54       getLog().debug("+++ testMBeanInfoMarshalling");
55       
56       initURLHandlers();
57       
58       InitialContext JavaDoc ctx = getInitialContext();
59       RMIAdaptor rmiAdaptor = (RMIAdaptor)ctx.lookup("jmx/invoker/RMIAdaptor");
60       Iterator JavaDoc it = rmiAdaptor.queryNames(null, null).iterator();
61
62       while (it.hasNext())
63       {
64          ObjectName JavaDoc objectName = (ObjectName JavaDoc)it.next();
65          try
66          {
67             MBeanInfo JavaDoc mbeanInfo = rmiAdaptor.getMBeanInfo(objectName);
68          }
69          catch (Throwable JavaDoc t)
70          {
71             getLog().error("Caught exception getting MBeanInfo for: " + objectName, t);
72             super.fail("Failed to get MBeanInfo for bean named: " + objectName);
73          }
74       }
75    }
76
77    /**
78     * This is need to setup the "resource" protocol handler, to cater
79     * for the ConfigurationURL attribute with default value "resource:log4j.xml"
80     * of jboss.system:service=Logging,type=Log4jService
81     */

82    private void initURLHandlers()
83    {
84       // Include the default JBoss protocol handler package
85
String JavaDoc handlerPkgs = System.getProperty("java.protocol.handler.pkgs");
86       if (handlerPkgs != null)
87       {
88          handlerPkgs += "|org.jboss.net.protocol";
89       }
90       else
91       {
92          handlerPkgs = "org.jboss.net.protocol";
93       }
94       System.setProperty("java.protocol.handler.pkgs", handlerPkgs);
95    }
96 }
97
Popular Tags