You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@tomcat.apache.org by da...@apache.org on 2001/01/28 22:30:35 UTC

cvs commit: jakarta-tomcat/src/share/org/apache/tomcat/modules/config ApacheConfig.java

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 (Keith@Wannamaker.org).
  
  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