hgomez 2003/10/16 04:41:18
Modified: jk/java/org/apache/jk/common JkMX.java
Log:
Update code to be able to select HTTP + JRMP support,
also you should use now mx.enabled
mx.enabled=true
mx.httpPort=8098
mx.httpHost=mymachine
mx.jrmpPort=8098
mx.jrmpHost=mymachine
Revision Changes Path
1.17 +73 -47 jakarta-tomcat-connectors/jk/java/org/apache/jk/common/JkMX.java
Index: JkMX.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/common/JkMX.java,v
retrieving revision 1.16
retrieving revision 1.17
diff -u -r1.16 -r1.17
--- JkMX.java 16 Oct 2003 11:09:09 -0000 1.16
+++ JkMX.java 16 Oct 2003 11:41:18 -0000 1.17
@@ -76,9 +76,10 @@
public class JkMX extends JkHandler
{
MBeanServer mserver;
- private int port=-1;
- private String host;
- private int jrmpport=1099;
+ private boolean enabled=false;
+ private int httpport=-1;
+ private String httphost="localhost";
+ private int jrmpport=-1;
private String jrmphost="localhost";
public JkMX()
@@ -87,22 +88,42 @@
/* -------------------- Public methods -------------------- */
- /** Enable the MX4J internal adapter
+ /** Enable the MX4J adapters (new way)
*/
- public void setPort( int i ) {
- port=i;
+ public void setEnabled(boolean b) {
+ enabled=b;
}
-
+
+ public boolean getEnabled() {
+ return enabled;
+ }
+
+ /** Enable the MX4J adapters (old way, compatible)
+ */
+ public void setPort(int i) {
+ enabled=(i != -1);
+ }
+
public int getPort() {
- return port;
+ return ((httpport != -1) ? httpport : jrmpport);
}
- public void setHost(String host ) {
- this.host=host;
+ /** Enable the MX4J HTTP internal adapter
+ */
+ public void setHTTPPort( int i ) {
+ httpport=i;
}
- public String getHost() {
- return host;
+ public int getHTTPPort() {
+ return httpport;
+ }
+
+ public void setHTTPHost(String host ) {
+ this.httphost=host;
+ }
+
+ public String getHTTPHost() {
+ return httphost;
}
/** Enable the MX4J JRMP internal adapter
@@ -124,21 +145,23 @@
}
/* ==================== Start/stop ==================== */
- ObjectName serverName=null;
+ ObjectName httpServerName=null;
+ ObjectName jrmpServerName=null;
/** Initialize the worker. After this call the worker will be
* ready to accept new requests.
*/
public void loadAdapter() throws IOException {
- boolean adapterLoaded = false;
+ boolean httpAdapterLoaded = false;
+ boolean jrmpAdapterLoaded = false;
- if (classExists("mx4j.adaptor.http.HttpAdaptor")) {
+ if ((httpport != -1) && classExists("mx4j.adaptor.http.HttpAdaptor")) {
try {
- serverName = new ObjectName("Http:name=HttpAdaptor");
- mserver.createMBean("mx4j.adaptor.http.HttpAdaptor", serverName,
null);
- if( host!=null )
- mserver.setAttribute(serverName, new Attribute("Host", host));
- mserver.setAttribute(serverName, new Attribute("Port", new
Integer(port)));
+ httpServerName = new
ObjectName("Http:name=HttpAdaptor");
+ mserver.createMBean("mx4j.adaptor.http.HttpAdaptor",
httpServerName, null);
+ if( httphost!=null )
+ mserver.setAttribute(httpServerName, new Attribute("Host",
httphost));
+ mserver.setAttribute(httpServerName, new Attribute("Port", new
Integer(httpport)));
ObjectName processorName = new
ObjectName("Http:name=XSLTProcessor");
mserver.createMBean("mx4j.adaptor.http.XSLTProcessor",
processorName, null);
@@ -146,7 +169,7 @@
//mserver.setAttribute(processorName, new Attribute("File",
"/opt/41/server/lib/openjmx-tools.jar"));
//mserver.setAttribute(processorName, new Attribute("UseCache", new
Boolean(false)));
//mserver.setAttribute(processorName, new Attribute("PathInJar",
"/openjmx/adaptor/http/xsl"));
- mserver.setAttribute(serverName, new Attribute("ProcessorName",
processorName));
+ mserver.setAttribute(httpServerName, new Attribute("ProcessorName",
processorName));
//server.invoke(serverName, "addAuthorization",
// new Object[] {"openjmx", "openjmx"},
@@ -166,25 +189,25 @@
// server.setAttribute(serverName, new
Attribute("SocketFactoryName", sslFactory.toString()));
// starts the server
- mserver.invoke(serverName, "start", null, null);
+ mserver.invoke(httpServerName, "start", null, null);
- log.info( "Started MX4J console on host " + host + " at port " +
port);
+ log.info( "Started MX4J console on host " + httphost + " at port "
+ httpport);
//return;
- adapterLoaded = true;
+ httpAdapterLoaded = true;
} catch( Throwable t ) {
- serverName=null;
+ httpServerName=null;
log.error( "Can't load the MX4J http adapter " + t.toString() );
}
}
- if (! adapterLoaded && classExists("mx4j.tools.naming.NamingService")) {
+ if ((jrmpport != -1) && classExists("mx4j.tools.naming.NamingService")) {
try {
- serverName = new ObjectName("Naming:name=rmiregistry");
- mserver.createMBean("mx4j.tools.naming.NamingService", serverName,
null);
- mserver.invoke(serverName, "start", null, null);
- log.info( "Creating " + serverName );
+ jrmpServerName = new ObjectName("Naming:name=rmiregistry");
+ mserver.createMBean("mx4j.tools.naming.NamingService",
jrmpServerName, null);
+ mserver.invoke(jrmpServerName, "start", null, null);
+ log.info( "Creating " + jrmpServerName );
// Create the JRMP adaptor
ObjectName adaptor = new ObjectName("Adaptor:protocol=jrmp");
@@ -215,36 +238,36 @@
// mbean.start();
log.info( "Creating " + adaptor + " on host " + jrmphost + " at
port " + jrmpport);
- adapterLoaded = true;
+ jrmpAdapterLoaded = true;
} catch( Exception ex ) {
- serverName = null;
+ jrmpServerName = null;
log.error( "MX4j RMI adapter not loaded: " + ex.toString());
}
}
- if (! adapterLoaded && classExists("com.sun.jdmk.comm.HtmlAdaptorServer")) {
+ if ((httpport != -1) && (! httpAdapterLoaded) &&
classExists("com.sun.jdmk.comm.HtmlAdaptorServer")) {
try {
Class c=Class.forName( "com.sun.jdmk.comm.HtmlAdaptorServer" );
Object o=c.newInstance();
- serverName=new ObjectName("Adaptor:name=html,port=" + port);
- log.info("Registering the JMX_RI html adapter " + serverName + " at
port " + port);
- mserver.registerMBean(o, serverName);
+ httpServerName=new ObjectName("Adaptor:name=html,port=" + httpport);
+ log.info("Registering the JMX_RI html adapter " + httpServerName +
" at port " + httpport);
+ mserver.registerMBean(o, httpServerName);
- mserver.setAttribute(serverName,
- new Attribute("Port", new Integer(port)));
+ mserver.setAttribute(httpServerName,
+ new Attribute("Port", new Integer(httpport)));
- mserver.invoke(serverName, "start", null, null);
+ mserver.invoke(httpServerName, "start", null, null);
- adapterLoaded = true;
+ httpAdapterLoaded = true;
} catch( Throwable t ) {
- serverName = null;
+ httpServerName = null;
log.error( "Can't load the JMX_RI http adapter " + t.toString() );
}
}
- if (!adapterLoaded)
- log.warn( "No adaptors were loaded but mx.port was defined.");
+ if ((!httpAdapterLoaded) || (!jrmpAdapterLoaded))
+ log.warn( "No adaptors were loaded but mx.enabled was defined.");
}
@@ -252,9 +275,12 @@
try {
log.info("Stoping JMX ");
- if( serverName!=null ) {
- mserver.invoke(serverName, "stop", null, null);
- }
+ if( httpServerName!=null ) {
+ mserver.invoke(httpServerName, "stop", null, null);
+ }
+ if( jrmpServerName!=null ) {
+ mserver.invoke(jrmpServerName, "stop", null, null);
+ }
} catch( Throwable t ) {
log.error( "Destroy error" + t );
}
@@ -264,7 +290,7 @@
try {
mserver = getMBeanServer();
- if( port > 0 ) {
+ if( enabled ) {
loadAdapter();
}
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]