proyal 2002/07/22 13:06:56
Modified: src/java/org/apache/avalon/phoenix/components/manager
MX4JSystemManager.java
Log:
Initial RMI support for MX4j System Manager.
ObjectName's likely to change in future.
Revision Changes Path
1.11 +31 -0
jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/manager/MX4JSystemManager.java
Index: MX4JSystemManager.java
===================================================================
RCS file:
/home/cvs/jakarta-avalon-phoenix/src/java/org/apache/avalon/phoenix/components/manager/MX4JSystemManager.java,v
retrieving revision 1.10
retrieving revision 1.11
diff -u -r1.10 -r1.11
--- MX4JSystemManager.java 15 Jul 2002 20:40:51 -0000 1.10
+++ MX4JSystemManager.java 22 Jul 2002 20:06:56 -0000 1.11
@@ -15,6 +15,9 @@
import org.apache.avalon.framework.configuration.Configuration;
import org.apache.avalon.framework.configuration.ConfigurationException;
+import mx4j.adaptor.rmi.jrmp.JRMPAdaptorMBean;
+import mx4j.util.StandardMBeanProxy;
+
/**
* This component is responsible for managing phoenix instance.
*
@@ -30,6 +33,7 @@
Integer.getInteger( "phoenix.adapter.http", 8082 ).intValue();
private int m_port;
+ private boolean m_rmi;
public void initialize()
throws Exception
@@ -76,6 +80,32 @@
// starts the server
mBeanServer.invoke( adaptorName, "start", null, null );
+
+ if( m_rmi )
+ {
+ startRMIAdaptor( mBeanServer );
+ }
+ }
+
+ private void startRMIAdaptor( MBeanServer server ) throws Exception
+ {
+ // Create and start the naming service
+ ObjectName naming = new ObjectName( "Naming:type=rmiregistry" );
+ server.createMBean( "mx4j.tools.naming.NamingService", naming, null );
+ server.invoke( naming, "start", null, null );
+
+ // Create the JRMP adaptor
+ ObjectName adaptor = new ObjectName( "Adaptor:protocol=JRMP" );
+ server.createMBean( "mx4j.adaptor.rmi.jrmp.JRMPAdaptor", adaptor, null );
+ JRMPAdaptorMBean mbean =
+ ( JRMPAdaptorMBean ) StandardMBeanProxy.create( JRMPAdaptorMBean.class,
+ server,
+ adaptor );
+ // Set the JNDI name with which will be registered
+ String jndiName = "jrmp";
+ mbean.setJNDIName( jndiName );
+ // Register the JRMP adaptor in JNDI and start it
+ mbean.start();
}
public void configure( final Configuration configuration )
@@ -83,6 +113,7 @@
{
m_port = configuration.getChild( "manager-adaptor-port" ).
getValueAsInteger( DEFAULT_HTTPADAPTER_PORT );
+ m_rmi = configuration.getChild( "enable-rmi-adaptor" ).getValueAsBoolean(
false );
}
protected MBeanServer createMBeanServer()
--
To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]>
For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>