You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by co...@apache.org on 2003/01/16 23:17:37 UTC
cvs commit: jakarta-tomcat-connectors/jk/java/org/apache/jk/server JkCoyoteHandler.java JkMain.java
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: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>