danmil 01/01/28 13:30:35
Modified: src/etc server.xml
src/share/org/apache/tomcat/modules/config ApacheConfig.java
Log:
Fixed autogeneration of mod_jk.conf files by Tomcat, and
added intelligence about ajp13 v. ajp12.
The generated file will use ajp13 if Tomcat is configured to have
interceptors for both.
Also, adding an Ajp13Interceptor to the default server.xml config.
Contributed by Keith Wannamaker ([EMAIL PROTECTED]).
Revision Changes Path
1.63 +12 -0 jakarta-tomcat/src/etc/server.xml
Index: server.xml
===================================================================
RCS file: /home/cvs/jakarta-tomcat/src/etc/server.xml,v
retrieving revision 1.62
retrieving revision 1.63
diff -u -r1.62 -r1.63
--- server.xml 2001/01/28 19:19:11 1.62
+++ server.xml 2001/01/28 21:30:35 1.63
@@ -109,6 +109,12 @@
<ContextInterceptor
className="org.apache.tomcat.modules.config.AutoSetup" />
+ <!-- Generate includeable Apache configuration files for mod_jserv
+ and mod_jk.
+ -->
+ <ContextInterceptor
+ className="org.apache.tomcat.modules.config.ApacheConfig" />
+
<ContextInterceptor
className="org.apache.tomcat.facade.WebXmlReader" />
@@ -279,6 +285,12 @@
<RequestInterceptor
className="org.apache.tomcat.modules.server.Ajp12Interceptor"
port="8007" />
+
+ <!-- Apache AJP13 support (mod_jk)
+ -->
+ <RequestInterceptor
+ className="org.apache.tomcat.modules.server.Ajp13Interceptor"
+ port="8009" />
<!-- ==================== Special webapps ==================== -->
<!-- You don't need this if you place your app in webapps/
1.2 +18 -8
jakarta-tomcat/src/share/org/apache/tomcat/modules/config/ApacheConfig.java
Index: ApacheConfig.java
===================================================================
RCS file:
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/config/ApacheConfig.java,v
retrieving revision 1.1
retrieving revision 1.2
diff -u -r1.1 -r1.2
--- ApacheConfig.java 2000/12/28 19:50:42 1.1
+++ ApacheConfig.java 2001/01/28 21:30:35 1.2
@@ -65,8 +65,9 @@
import java.net.*;
import java.util.*;
-// Used to find Ajp12 connector port
+// Used to find Ajp1? connector port
import org.apache.tomcat.modules.server.Ajp12Interceptor;
+import org.apache.tomcat.modules.server.Ajp13Interceptor;
/**
* Used by ContextManager to generate automatic apache configurations
@@ -80,6 +81,11 @@
public static final String WORKERS_CONFIG = "/conf/jk/workers.properties";
public static final String JK_LOG_LOCATION = "/logs/mod_jk.log";
+ public static final String[] JkMount = { "ajp12", "ajp13" };
+ public static final int AJP12 = 0;
+ public static final int AJP13 = 1;
+ public static final String AJPV12 = "ajpv12";
+
public ApacheConfig() {
}
@@ -90,10 +96,11 @@
Log loghelper = new Log("tc_log", this);
- public void execute(ContextManager cm) throws TomcatException {
+ public void engineStart(ContextManager cm) throws TomcatException {
try {
String tomcatHome = cm.getHome();
String apacheHome = findApache();
+ int jkConnector = AJP12;
//log("Tomcat home= " + tomcatHome);
@@ -127,13 +134,13 @@
pw.println("ApJServManual on");
- pw.println("ApJServDefaultProtocol ajpv12");
+ pw.println("ApJServDefaultProtocol " + AJPV12);
pw.println("ApJServSecretKey DISABLED");
pw.println("ApJServMountCopy on");
pw.println("ApJServLogLevel notice");
pw.println();
- // Find Ajp12 connector
+ // Find Ajp1? connectors
int portInt=8007;
BaseInterceptor ci[]=cm.getContainer().getInterceptors();
for( int i=0; i<ci.length; i++ ) {
@@ -146,6 +153,9 @@
Ajp12Interceptor tcpCon=(Ajp12Interceptor) con;
portInt=tcpCon.getPort();
}
+ if( con instanceof Ajp13Interceptor ) {
+ jkConnector = AJP13;
+ }
}
pw.println("ApJServDefaultPort " + portInt);
pw.println();
@@ -195,8 +205,8 @@
mod_jk.println("#");
mod_jk.println("# Root context mounts for Tomcat");
mod_jk.println("#");
- mod_jk.println("JkMount /*.jsp ajp12");
- mod_jk.println("JkMount /servlet/* ajp12");
+ mod_jk.println("JkMount /*.jsp " + JkMount[jkConnector]);
+ mod_jk.println("JkMount /servlet/* " + JkMount[jkConnector]);
mod_jk.println();
// Set up contexts
@@ -282,8 +292,8 @@
mod_jk.println("#");
mod_jk.println("# The following line mounts all JSP files and the
/servlet/ uri to tomcat");
mod_jk.println("#");
- mod_jk.println("JkMount " + path +"/servlet/* ajp12");
- mod_jk.println("JkMount " + path +"/*.jsp ajp12");
+ mod_jk.println("JkMount " + path +"/servlet/* " +
JkMount[jkConnector]);
+ mod_jk.println("JkMount " + path +"/*.jsp " +
JkMount[jkConnector]);
// Deny serving any files from WEB-INF
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, email: [EMAIL PROTECTED]