costin      00/12/28 17:34:42

  Modified:    src/etc  server.xml
               src/share/org/apache/tomcat/context DefaultCMSetter.java
               src/share/org/apache/tomcat/modules/config
                        ServerXmlInterceptor.java WorkDirSetup.java
               src/share/org/apache/tomcat/modules/server
                        Ajp12Interceptor.java
               src/share/org/apache/tomcat/startup EmbededTomcat.java
  Log:
  - replaced WorkDirInterceptor with the new ( rewritten ) version.
  The replacement can handle storing the temp files in WEB-INF ( very
  useful for setting policies for the applications ), can use better
  names ( work/HOSTNAME/PATH instead of ugly names ) and of course
  can use the old names.
  Saving temp files in WEB-INF is disabled by default ( according to the spec
  the server can use any internal file-system representation it wants, but
  this needs a bit more review before enabling it by default ). A big
  advantage is that all the files used by a web application are grouped.
  
  - DefaultCMSetter will generate a random number in config. ( for later
  use )
  
  - Ajp12Interceptor will generate a file containing the current port.
  
  The idea is to add a shared "secret" for shutdown, but without requiring
  the user to configure anything - if someone has read access to the
  conf directory, it can read the config file containing the user-configured
  secret as well.
  
  Revision  Changes    Path
  1.58      +1 -1      jakarta-tomcat/src/etc/server.xml
  
  Index: server.xml
  ===================================================================
  RCS file: /home/cvs/jakarta-tomcat/src/etc/server.xml,v
  retrieving revision 1.57
  retrieving revision 1.58
  diff -u -r1.57 -r1.58
  --- server.xml        2000/12/29 00:33:13     1.57
  +++ server.xml        2000/12/29 01:34:40     1.58
  @@ -131,7 +131,7 @@
   
   
           <ContextInterceptor 
  -            className="org.apache.tomcat.context.WorkDirInterceptor" />
  +            className="org.apache.tomcat.modules.config.WorkDirSetup" />
   
           <!-- Request processing -->
           <!-- Session interceptor will extract the session id from cookies and 
  
  
  
  1.60      +16 -0     
jakarta-tomcat/src/share/org/apache/tomcat/context/DefaultCMSetter.java
  
  Index: DefaultCMSetter.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/context/DefaultCMSetter.java,v
  retrieving revision 1.59
  retrieving revision 1.60
  diff -u -r1.59 -r1.60
  --- DefaultCMSetter.java      2000/12/26 23:02:00     1.59
  +++ DefaultCMSetter.java      2000/12/29 01:34:41     1.60
  @@ -145,6 +145,22 @@
           initLoggers(cm.getLoggers());
       }
   
  +    /** Generate a random number
  +     */
  +    public void engineStart( ContextManager cm )
  +     throws TomcatException
  +    {
  +     try {
  +         PrintWriter stopF=new PrintWriter
  +             (new FileWriter(cm.getHome() + "/conf/random.txt"));
  +         stopF.println( Math.random() );
  +         stopF.close();
  +     } catch( IOException ex ) {
  +         log( "Can't create stop file " + ex );
  +     }
  +    }
  +    
  +
       private void initLoggers(Hashtable Loggers){
           if( Loggers!=null ){
               Enumeration el=Loggers.elements();
  
  
  
  1.2       +1 -1      
jakarta-tomcat/src/share/org/apache/tomcat/modules/config/ServerXmlInterceptor.java
  
  Index: ServerXmlInterceptor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/config/ServerXmlInterceptor.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- ServerXmlInterceptor.java 2000/12/28 21:08:05     1.1
  +++ ServerXmlInterceptor.java 2000/12/29 01:34:41     1.2
  @@ -60,7 +60,6 @@
   
   import java.beans.*;
   import java.io.*;
  -import java.io.IOException;
   import java.lang.reflect.*;
   import java.util.Hashtable;
   import java.util.*;
  @@ -69,6 +68,7 @@
   import org.apache.tomcat.helper.*;
   import org.apache.tomcat.util.xml.*;
   import org.apache.tomcat.core.*;
  +import org.apache.tomcat.modules.server.*;
   import org.apache.tomcat.util.log.*;
   import org.xml.sax.*;
   
  
  
  
  1.2       +17 -4     
jakarta-tomcat/src/share/org/apache/tomcat/modules/config/WorkDirSetup.java
  
  Index: WorkDirSetup.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/config/WorkDirSetup.java,v
  retrieving revision 1.1
  retrieving revision 1.2
  diff -u -r1.1 -r1.2
  --- WorkDirSetup.java 2000/12/04 21:22:49     1.1
  +++ WorkDirSetup.java 2000/12/29 01:34:41     1.2
  @@ -78,6 +78,7 @@
       boolean cleanWorkDir=false;
       String workdirBase=null;
       boolean useWebInf=false;
  +    boolean oldStyle=false;
       
       public WorkDirSetup() {
       }
  @@ -107,6 +108,10 @@
       public void setUseWebInf( boolean useWebInf ) {
        this.useWebInf = useWebInf;
       }
  +
  +    public void setOldStyle( boolean b ) {
  +     this.oldStyle=b;
  +    }
       
       // -------------------- Callbacks --------------------
       
  @@ -186,6 +191,8 @@
        if( base==null )
            base=cm.getWorkDir();
   
  +     File workDirF=null;
  +
        StringBuffer sb=new StringBuffer();
        sb.append(cm.getWorkDir());
        sb.append(File.separator);
  @@ -194,11 +201,17 @@
            sb.append( "DEFAULT" );
        else
            sb.append( host );
  -     File hostD=new File( sb.toString());
  -     hostD.mkdirs();
  -
  -     File workDirF=new File( hostD, URLEncoder.encode( ctx.getPath() ));
        
  +
  +     if( oldStyle ) {
  +         sb.append(URLEncoder.encode( ctx.getPath() ));
  +         workDirF=new File(sb.toString());
  +     } else {
  +         File hostD=new File( sb.toString());
  +         hostD.mkdirs();
  +         
  +         workDirF=new File( hostD, URLEncoder.encode( ctx.getPath() ));
  +     }
        ctx.setWorkDir( workDirF );
       }
   
  
  
  
  1.8       +27 -0     
jakarta-tomcat/src/share/org/apache/tomcat/modules/server/Ajp12Interceptor.java
  
  Index: Ajp12Interceptor.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/modules/server/Ajp12Interceptor.java,v
  retrieving revision 1.7
  retrieving revision 1.8
  diff -u -r1.7 -r1.8
  --- Ajp12Interceptor.java     2000/12/17 02:37:55     1.7
  +++ Ajp12Interceptor.java     2000/12/29 01:34:42     1.8
  @@ -86,6 +86,33 @@
        ep.setConnectionHandler( this );
       }
   
  +    public void engineInit(ContextManager cm )
  +     throws TomcatException
  +    {
  +     super.engineInit( cm );
  +     BaseInterceptor ci[]=cm.getContainer().getInterceptors();
  +     for( int i=0; i<ci.length; i++ ) {
  +         Object con=ci[i];
  +         if( con instanceof  Ajp12Interceptor ) {
  +             Ajp12Interceptor tcpCon=(Ajp12Interceptor) con;
  +             int portInt=tcpCon.getPort();
  +             InetAddress address=tcpCon.getAddress();
  +             try {
  +                 PrintWriter stopF=new PrintWriter
  +                     (new FileWriter(cm.getHome() + "/conf/ajp12.id"));
  +                 stopF.println( portInt );
  +                 if( address==null )
  +                     stopF.println( "" );
  +                 else
  +                     stopF.println( address.toString() );
  +                 stopF.close();
  +             } catch( IOException ex ) {
  +                 log( "Can't create ajp12.id " + ex );
  +             }
  +         }
  +     }
  +    }
  +
       // -------------------- Handler implementation --------------------
   
       public Object[] init() {
  
  
  
  1.39      +1 -1      
jakarta-tomcat/src/share/org/apache/tomcat/startup/EmbededTomcat.java
  
  Index: EmbededTomcat.java
  ===================================================================
  RCS file: 
/home/cvs/jakarta-tomcat/src/share/org/apache/tomcat/startup/EmbededTomcat.java,v
  retrieving revision 1.38
  retrieving revision 1.39
  diff -u -r1.38 -r1.39
  --- EmbededTomcat.java        2000/12/28 21:08:06     1.38
  +++ EmbededTomcat.java        2000/12/29 01:34:42     1.39
  @@ -259,7 +259,7 @@
        "org.apache.tomcat.context.PolicyInterceptor",
        "org.apache.tomcat.context.LoaderInterceptor12",
        "org.apache.tomcat.context.ErrorHandler",
  -     "org.apache.tomcat.context.WorkDirInterceptor",
  +     "org.apache.tomcat.modules.config.WorkDirSetup",
        "org.apache.tomcat.modules.session.SessionId",
        "org.apache.tomcat.request.SimpleMapper1",
        "org.apache.tomcat.request.InvokerInterceptor",
  
  
  

Reply via email to