tomcat-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From hgo...@apache.org
Subject cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/common JkMX.java
Date Thu, 16 Oct 2003 11:41:18 GMT
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: tomcat-dev-unsubscribe@jakarta.apache.org
For additional commands, e-mail: tomcat-dev-help@jakarta.apache.org


Mime
View raw message