[jboss-remoting-commits] JBoss Remoting SVN: r3867 - remoting2/branches/2.x/src/tests/org/jboss/test/remoting/detection/registry.
jboss-remoting-commits at lists.jboss.org
jboss-remoting-commits at lists.jboss.org
Wed Apr 2 01:34:02 EDT 2008
Author: ron.sigal at jboss.com
Date: 2008-04-02 01:34:02 -0400 (Wed, 02 Apr 2008)
New Revision: 3867
Modified:
remoting2/branches/2.x/src/tests/org/jboss/test/remoting/detection/registry/NetworkRegistryTestCase.java
Log:
JBREM-934: Put MBeanServer.registerMBean() and MBeanServer.addNotificationListener() calls in AccessController.doPrivileged() calls.
Modified: remoting2/branches/2.x/src/tests/org/jboss/test/remoting/detection/registry/NetworkRegistryTestCase.java
===================================================================
--- remoting2/branches/2.x/src/tests/org/jboss/test/remoting/detection/registry/NetworkRegistryTestCase.java 2008-04-02 05:28:45 UTC (rev 3866)
+++ remoting2/branches/2.x/src/tests/org/jboss/test/remoting/detection/registry/NetworkRegistryTestCase.java 2008-04-02 05:34:02 UTC (rev 3867)
@@ -22,6 +22,9 @@
package org.jboss.test.remoting.detection.registry;
import java.net.InetAddress;
+import java.security.AccessController;
+import java.security.PrivilegedActionException;
+import java.security.PrivilegedExceptionAction;
import junit.framework.TestCase;
import org.jboss.remoting.InvokerLocator;
@@ -55,28 +58,38 @@
// org.apache.log4j.Category.getInstance("org.jboss.remoting.detection").setLevel(XLevel.TRACE);
// org.apache.log4j.Category.getInstance("org.jgroups").setLevel(Level.FATAL);
+ MBeanServer server1 = null;
+ try
+ {
+ server1 = (MBeanServer) AccessController.doPrivileged( new PrivilegedExceptionAction()
+ {
+ public Object run() throws Exception
+ {
+ return MBeanServerFactory.createMBeanServer();
+ }
+ });
+ }
+ catch (PrivilegedActionException e)
+ {
+ throw (Exception) e.getCause();
+ }
- MBeanServer server1 = MBeanServerFactory.createMBeanServer();
-
NetworkRegistry networkRegistry = new NetworkRegistry();
- server1.registerMBean(networkRegistry, new ObjectName("remoting:type=NetworkRegistry"));
+ registerMBean(server1, networkRegistry, new ObjectName("remoting:type=NetworkRegistry"));
+ addNotificationListener(server1, new ObjectName("remoting:type=NetworkRegistry"), this);
- server1.addNotificationListener(new ObjectName("remoting:type=NetworkRegistry"),
- this, null, null);
-
- MulticastDetector detector1 = new MulticastDetector();
-
int port = TestUtil.getRandomPort();
String host = InetAddress.getLocalHost().getHostAddress();
String bindAddr = System.getProperty("jrunit.bind_addr", host);
InvokerLocator locator1 = new InvokerLocator("socket://" + bindAddr + ":" + port);
Connector connector1 = new Connector(locator1);
ObjectName obj = new ObjectName("jboss.remoting:type=Connector,transport=" + locator1.getProtocol());
- server1.registerMBean(connector1, obj);
+ registerMBean(server1, connector1, obj);
//connector1.create();
connector1.start();
- server1.registerMBean(detector1, new ObjectName("remoting:type=MultiplexDetector"));
+ MulticastDetector detector1 = new MulticastDetector();
+ registerMBean(server1, detector1, new ObjectName("remoting:type=MulticastDetector"));
// set config info for detector and start it.
detector1.start();
@@ -85,23 +98,36 @@
Thread.sleep(3000);
System.out.println("Starting second set.");
+
+ MBeanServer server2 = null;
+ try
+ {
+ server2 = (MBeanServer) AccessController.doPrivileged( new PrivilegedExceptionAction()
+ {
+ public Object run() throws Exception
+ {
+ return MBeanServerFactory.createMBeanServer();
+ }
+ });
+ }
+ catch (PrivilegedActionException e)
+ {
+ throw (Exception) e.getCause();
+ }
+
+ registerMBean(server2, networkRegistry, new ObjectName("remoting:type=NetworkRegistry"));
+ addNotificationListener(server2, new ObjectName("remoting:type=NetworkRegistry"), this);
- MBeanServer server2 = MBeanServerFactory.createMBeanServer();
- server2.registerMBean(networkRegistry, new ObjectName("remoting:type=NetworkRegistry"));
- server2.addNotificationListener(new ObjectName("remoting:type=NetworkRegistry"),
- this, null, null);
-
- MulticastDetector detector2 = new MulticastDetector();
-
port = TestUtil.getRandomPort();
InvokerLocator locator2 = new InvokerLocator("socket://" + bindAddr + ":" + port);
Connector connector2 = new Connector(locator2);
ObjectName obj2 = new ObjectName("jboss.remoting:type=Connector,transport=" + locator2.getProtocol());
- server2.registerMBean(connector2, obj2);
+ registerMBean(server2, connector2, obj2);
//connector2.create();
connector2.start();
- server2.registerMBean(detector2, new ObjectName("remoting:type=MultiplexDetector"));
+ MulticastDetector detector2 = new MulticastDetector();
+ registerMBean(server2, detector2, new ObjectName("remoting:type=MultiplexDetector"));
// set config info for detector and start it.
detector2.start();
@@ -174,5 +200,47 @@
}
}
+
+ private void registerMBean(final MBeanServer server, final Object obj, final ObjectName name)
+ throws Exception
+ {
+ try
+ {
+ AccessController.doPrivileged( new PrivilegedExceptionAction()
+ {
+ public Object run() throws Exception
+ {
+ server.registerMBean(obj, name);
+ return null;
+ }
+ });
+ }
+ catch (PrivilegedActionException e)
+ {
+ System.out.println(e.getCause());
+ throw (Exception) e.getCause();
+ }
+ }
+ private void addNotificationListener(final MBeanServer server, final ObjectName name, final NotificationListener listener)
+ throws Exception
+ {
+ try
+ {
+ AccessController.doPrivileged( new PrivilegedExceptionAction()
+ {
+ public Object run() throws Exception
+ {
+ server.addNotificationListener(name, listener, null, null);
+ return null;
+ }
+ });
+ }
+ catch (PrivilegedActionException e)
+ {
+ System.out.println(e.getCause());
+ throw (Exception) e.getCause();
+ }
+ }
+
}
\ No newline at end of file
More information about the jboss-remoting-commits
mailing list