costin 2003/01/16 14:17:37 Modified: jk/java/org/apache/jk/server JkCoyoteHandler.java JkMain.java Log: When the coyote handler is registered ( by the Connector or other method ), it'll also register JkMain. JkMain will register all handlers as mbeans. If the coyote handler is not registered - nothing happens. Revision Changes Path 1.33 +16 -2 jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java Index: JkCoyoteHandler.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkCoyoteHandler.java,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- JkCoyoteHandler.java 18 Dec 2002 09:15:06 -0000 1.32 +++ JkCoyoteHandler.java 16 Jan 2003 22:17:37 -0000 1.33 @@ -74,8 +74,14 @@ import org.apache.tomcat.util.net.SSLSupport; import org.apache.coyote.*; +import org.apache.commons.modeler.Registry; +import javax.management.ObjectName; +import javax.management.MBeanServer; /** Plugs Jk2 into Coyote + * + * @jmx:notification-handler name="org.apache.jk.SEND_PACKET + * @jmx:notification-handler name="org.apache.coyote.ACTION_COMMIT */ public class JkCoyoteHandler extends JkHandler implements ProtocolHandler, @@ -302,8 +308,7 @@ if( contentLanguage != null ) { headers.setValue("Content-Language").setString(contentLanguage); } - - int contentLength = res.getContentLength(); + int contentLength = res.getContentLength(); if( contentLength >= 0 ) { headers.setValue("Content-Length").setInt(contentLength); } @@ -441,5 +446,14 @@ logTime.debug("Time pre=" + t1 + "/ service=" + t2 + " " + res.getContentLength() + " " + uri ); + } + + public ObjectName preRegister(MBeanServer server, + ObjectName name) throws Exception + { + // XXX Can we have multiple JkMain ? + Registry.getRegistry().registerComponent(jkMain, name.getDomain(), + "JkMain", "name=JkMain"); + return super.preRegister(server, name); } } 1.33 +48 -8 jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkMain.java Index: JkMain.java =================================================================== RCS file: /home/cvs/jakarta-tomcat-connectors/jk/java/org/apache/jk/server/JkMain.java,v retrieving revision 1.32 retrieving revision 1.33 diff -u -r1.32 -r1.33 --- JkMain.java 13 Nov 2002 00:19:00 -0000 1.32 +++ JkMain.java 16 Jan 2003 22:17:37 -0000 1.33 @@ -60,15 +60,15 @@ package org.apache.jk.server; import java.io.*; -import java.net.*; import java.util.*; import org.apache.jk.core.*; -import org.apache.jk.common.*; -import org.apache.tomcat.util.buf.*; -import org.apache.tomcat.util.http.*; import org.apache.tomcat.util.IntrospectionUtils; +import org.apache.commons.modeler.Registry; +import javax.management.ObjectName; +import javax.management.MBeanServer; +import javax.management.MBeanRegistration; /** Main class used to startup and configure jk. It manages the conf/jk2.properties file * and is the target of JMX proxy. @@ -102,8 +102,9 @@ * to see configs based on registry, LDAP, db, etc. ( XML is not necesarily better ) * * @author Costin Manolache + * @deprecated Will be replaced with JMX operations */ -public class JkMain +public class JkMain implements MBeanRegistration { WorkerEnv wEnv=new WorkerEnv(); String propFile; @@ -113,7 +114,7 @@ boolean modified=false; boolean started=false; boolean saveProperties=false; - + public JkMain() { JkMain.jkMain=this; @@ -122,6 +123,7 @@ modules.put("channelJni", "org.apache.jk.common.ChannelJni"); modules.put("apr", "org.apache.jk.apr.AprImpl"); modules.put("mx", "org.apache.jk.common.JkMX"); + modules.put("modeler", "org.apache.jk.common.JkModeler"); modules.put("shm", "org.apache.jk.common.Shm"); modules.put("request","org.apache.jk.common.HandlerRequest"); modules.put("container","org.apache.jk.common.HandlerRequest"); @@ -150,7 +152,7 @@ ex.printStackTrace(); } } - + // -------------------- Setting -------------------- /** Load a .properties file into and set the values @@ -223,7 +225,7 @@ public String getJkHome() { return wEnv.getJkHome(); } - + String out; String err; File propsF; @@ -560,7 +562,15 @@ log.error( "Can't create " + fullName, ex ); return null; } + if( this.domain != null ) { + try { + Registry.getRegistry().registerComponent(handler, this.domain, "JkHandler", + "type=JkHandler,name=" + fullName); + } catch (Exception e) { + log.error( "Error registering " + fullName, e ); + } + } wEnv.addHandler( fullName, handler ); return handler; } @@ -612,4 +622,34 @@ static org.apache.commons.logging.Log log= org.apache.commons.logging.LogFactory.getLog( JkMain.class ); + + protected String domain; + protected ObjectName oname; + protected MBeanServer mserver; + + public ObjectName getObjectName() { + return oname; + } + + public String getDomain() { + return domain; + } + + public ObjectName preRegister(MBeanServer server, + ObjectName name) throws Exception { + oname=name; + mserver=server; + domain=name.getDomain(); + return name; + } + + public void postRegister(Boolean registrationDone) { + } + + public void preDeregister() throws Exception { + } + + public void postDeregister() { + } + }
-- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>