<?xml version='1.0' encoding='utf-8'?>
<!DOCTYPE x [
    <!ENTITY other_file SYSTEM "file:///e:/Tomcat 4.1/conf/server_clutter.xml" >
 ]>

<!--
NOTE: The file:/// and full path above are required when running the shortcut pointing to the following command:
C:\j2sdk1.4.1\bin\java.exe -jar -Duser.dir="E:/Tomcat 4.1"   "E:\Tomcat 4.1\bin\bootstrap.jar" start
This path is NOT required if simply using startup.bat!!
-->

<!--
    THIS DID **NOT** WORK. Is  XInclude a NOP??
    
<Server xmlns:xi="http://www/w3.org/2001/XInclude" port="8005" shutdown="SHUTDOWN" debug="9">
   <!== xi:include href="file:///e:/Tomcat 4.1/conf/server_clutter.xml" / ==>
   <xi:include href="server_clutter.xml" />
   <xi:fallback href="clutter.xml" />
<Server xmlns:xi="http://www/w3.org/2001/XInclude" port="8005" shutdown="SHUTDOWN" debug="9">
   <!== xi:include href="file:///e:/Tomcat 4.1/conf/server_clutter.xml" / ==>
   <xi:include href="server_clutter.xml" />
   <xi:fallback href="clutter.xml" />

-->

<Server xmlns:xi="http://www/w3.org/2001/XInclude" port="8005" shutdown="SHUTDOWN" debug="9">
<!-- Uncomment these entries to enable JMX MBeans support -->
  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" debug="98" />
  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" debug="98" />

  <!-- Global JNDI resources -->
  <GlobalNamingResources>
    <!-- Test entry for demonstration purposes -->
    <Environment name="simpleValue" type="java.lang.Integer" value="30"/>

    <!-- Editable user database that can also be used by
         UserDatabaseRealm to authenticate users -->
    <Resource name="UserDatabase" auth="Container"
              type="org.apache.catalina.UserDatabase"
          scope="Shareable"
       description="User database that can be updated and saved">
    </Resource>
    <ResourceParams name="UserDatabase">
      <parameter>
        <name>factory</name>
        <value>org.apache.catalina.users.MemoryUserDatabaseFactory</value>
      </parameter>
      <parameter>
        <name>pathname</name>
        <value>conf/tomcat-users.xml</value>
      </parameter>
    </ResourceParams>
  </GlobalNamingResources>

  <!-- Define the Tomcat Stand-Alone Service -->
  <Service name="Tomcat-Standalone">

    <!-- (sic) Define a non-SSL Coyote HTTP/1.1 Connector on port 8081 -->
    <!-- (corrected?) Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->

    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
           port="8080" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="100" debug="9" connectionTimeout="20000"
               useURIValidationHack="false" disableUploadTimeout="true" />

    <!-- Note : To disable connection timeouts, set connectionTimeout value to -1 -->
    <!-- Define an AJP 1.3 Connector on port 8009 -->
    <!-- Define a Coyote/JK2 AJP 1.3 Connector on port 8009 -->
    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
               port="8009" minProcessors="5" maxProcessors="75"
               enableLookups="true" redirectPort="8443"
               acceptCount="10" debug="9" connectionTimeout="20000"
               useURIValidationHack="false"
               protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>

    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Standalone" defaultHost="localhost" debug="9">

      <!-- Global logger unless overridden at lower levels -->
      <Logger className="org.apache.catalina.logger.FileLogger"
              prefix="catalina_log." suffix=".txt"
              timestamp="true"/>

      <!-- Because this Realm is here, an instance will be shared globally -->

      <!-- This Realm uses the UserDatabase configured in the global JNDI
           resources under the key "UserDatabase".  Any edits
           that are performed against this UserDatabase are immediately
           available for use by the Realm.  -->
      <Realm className="org.apache.catalina.realm.UserDatabaseRealm"
                 debug="9" resourceName="UserDatabase"/>

      <!-- Define the default virtual host -->
      <Host name="localhost" debug="9" appBase="webapps" 
       unpackWARs="false" autoDeploy="true">

        <!-- Logger shared by all Contexts related to this virtual host.  By
             default (when using FileLogger), log files are created in the "logs"
             directory relative to $CATALINA_HOME.  If you wish, you can specify
             a different directory with the "directory" attribute.  Specify either a
             relative (to $CATALINA_HOME) or absolute path to the desired
             directory.-->
        <Logger className="org.apache.catalina.logger.FileLogger"
                 directory="logs"  prefix="localhost_log." suffix=".txt"
            timestamp="true"/>

        <!-- Define properties for each web application.  This is only needed
             if you want to set non-default properties, or have web application
             document roots in places other than the virtual host's appBase
             directory.  -->

<!-- This our struts-documentation WAR context!! -->
        <Context className="org.apache.catalina.core.StandardContext" cachingAllowed="false" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="9" displayName="SAO Student Club Reports" docBase="struts-documentation.war" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/struts-documentation" privileged="true" reloadable="false" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
          <Logger className="org.apache.catalina.logger.FileLogger" debug="9" directory="logs" prefix="struts-documentation." suffix=".log" timestamp="true" verbosity="9"/>
        </Context>

<!-- This our struts-blank WAR context!! -->
        <Context className="org.apache.catalina.core.StandardContext" cachingAllowed="false" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="9" displayName="SAO Student Club Reports" docBase="struts-blank.war" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/struts-blank" privileged="true" reloadable="false" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
          <Logger className="org.apache.catalina.logger.FileLogger" debug="9" directory="logs" prefix="struts-blank." suffix=".log" timestamp="true" verbosity="9"/>
        </Context>
             
<!-- Tomcat Examples Context -->
        <Context path="/examples" docBase="examples" debug="99"
                 reloadable="true" crossContext="true">
          <Logger className="org.apache.catalina.logger.FileLogger"
                     prefix="localhost_examples_log." suffix=".txt"
              timestamp="true"/>
          <Ejb   name="ejb/EmplRecord" type="Entity"
                 home="com.wombat.empl.EmployeeRecordHome"
               remote="com.wombat.empl.EmployeeRecord"/>

          <Environment name="maxExemptions" type="java.lang.Integer"
                      value="15"/>
          <Parameter name="context.param.name" value="context.param.value"
                     override="false"/>
          <Resource name="jdbc/EmployeeAppDb" auth="SERVLET"
                    type="javax.sql.DataSource"/>
          <ResourceParams name="jdbc/EmployeeAppDb">
            <parameter><name>user</name><value>sa</value></parameter>
            <parameter><name>password</name><value></value></parameter>
            <parameter><name>driverClassName</name>
              <value>org.hsql.jdbcDriver</value></parameter>
            <parameter><name>driverName</name>
              <value>jdbc:HypersonicSQL:database</value></parameter>
          </ResourceParams>
          <Resource name="mail/Session" auth="Container"
                    type="javax.mail.Session"/>
          <ResourceParams name="mail/Session">
            <parameter>
              <name>mail.smtp.host</name>
              <value>outgoing.mit.edu</value>
            </parameter>
          </ResourceParams>
          <ResourceLink name="linkToGlobalResource" 
                    global="simpleValue"
                    type="java.lang.Integer"/>
        </Context>
        
        <!--
                       If you wanted the examples app to be able to edit the
                       user database, you would uncomment the following entry.
                       Of course, you would want to enable security on the
                       application as well, so this is not done by default!
                       The database object could be accessed like this:
        
                       Context initCtx = new InitialContext();
                       Context envCtx = (Context) initCtx.lookup("java:comp/env");
                       UserDatabase database =
                            (UserDatabase) envCtx.lookup("userDatabase");
                  <ResourceLink name="userDatabase" global="UserDatabase"
                                type="org.apache.catalina.UserDatabase"/>
        -->

<!-- This our SAO reports WAR context!! 
        <Context className="org.apache.catalina.core.StandardContext" cachingAllowed="false" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="9" displayName="SAO Student Club Reports" docBase="sao_reports.war" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/sao_reports" privileged="true" reloadable="false" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
          <Logger className="org.apache.catalina.logger.FileLogger" debug="9" directory="logs" prefix="sao_reports." suffix=".log" timestamp="true" verbosity="9"/>
-->

<!--
NOTE: If ANY of the following datasources has a problem, the SQException thrown will be propagated up to the container, 
which, in turn, will STOP the web application in its tracks!!

Do NOT add unreliable datasources here!!!

<Resource name="jdbc/bookstore" auth="Container"
            type="org.apache.commons.dbcp.jdbc2pool.Jdbc2PoolDataSource"/>
<Resource name="jdbc/bookstoreCPDS" auth="Container"
              type="javax.sql.DataSource"/> 
<Resource name="jdbc/myoracle" auth="Container"
              type="javax.sql.DataSource"/> 
<ResourceParams name="jdbc/myoracle">
  <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
  </parameter>
  <parameter>
    <name>driverClassName</name>
    <value>oracle.jdbc.driver.OracleDriver</value>
  </parameter>
  <parameter>
    <name>url</name>
    <value>jdbc:oracle:oci:@freewilly</value>
  </parameter>
  <parameter>
    <name>username</name>
    <value>wwwuser</value>
  </parameter>
  <parameter>
    <name>password</name>
    <value>www007skid00</value>
  </parameter>
  <parameter>
    <name>maxActive</name>
    <value>20</value>
  </parameter>
  <parameter>
    <name>maxIdle</name>
    <value>10</value>
  </parameter>
  <parameter>
    <name>maxWait</name>
    <value>-1</value>
  </parameter>
  <parameter>
    <name>extra</name>
    <value>pwf</value>
  </parameter>
</ResourceParams>
<ResourceParams name="jdbc/bookstoreCPDS">

<!==
  <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
  </parameter>
==>
  <parameter>
    <name>driverClassName</name>
    <value>oracle.jdbc.driver.OracleDriver</value>
  </parameter>
  <parameter>
    <name>url</name>
    <value>jdbc:oracle:oci:@freewilly</value>
  </parameter>
  <parameter>
    <name>username</name>
    <value>wwwuser</value>
  </parameter>
  <parameter>
    <name>password</name>
    <value>www007skid00</value>
  </parameter>
  <parameter>
    <name>_uname</name>
    <value>wwwuser</value>
  </parameter>
  <parameter>
    <name>_passwd</name>
    <value>www007skid00</value>
  </parameter>
  <parameter>
    <name>maxActive</name>
    <value>20</value>
  </parameter>
  <parameter>
    <name>maxIdle</name>
    <value>10</value>
  </parameter>
  <parameter>
    <name>maxWait</name>
    <value>-1</value>
  </parameter>
</ResourceParams>

 <ResourceParams name="jdbc/bookstore">
    <parameter>
      <name>factory</name>
      <value>org.apache.commons.dbcp.jdbc2pool.Jdbc2PoolDataSource</value>
    </parameter>
    <parameter>
      <name>dataSourceName</name><value>java:comp/env/jdbc/bookstoreCPDS</value>
    </parameter>
    <parameter>
      <name>defaultMaxActive</name><value>30</value>
    </parameter>
  </ResourceParams>

</Context>         
-->

<!-- This our SAO reports non-WAR context!! -->
        <Context className="org.apache.catalina.core.StandardContext" cachingAllowed="false" charsetMapperClass="org.apache.catalina.util.CharsetMapper" cookies="true" crossContext="false" debug="9" displayName="SAO Student Club Reports" docBase="sao_reports" mapperClass="org.apache.catalina.core.StandardContextMapper" path="/sao_reports" privileged="true" reloadable="false" swallowOutput="false" useNaming="true" wrapperClass="org.apache.catalina.core.StandardWrapper">
          <Logger className="org.apache.catalina.logger.FileLogger" debug="9" directory="logs" prefix="sao_reports." suffix=".log" timestamp="true" verbosity="9"/>
<!--
 Resource name="jdbc/bookstore" auth="Container"
            type="org.apache.commons.dbcp.jdbc2pool.Jdbc2PoolDataSource"/>
<Resource name="jdbc/bookstoreCPDS" auth="Container"
              type="javax.sql.DataSource"/> 

<Resource name="jdbc/myoracle" auth="Container"
              type="javax.sql.DataSource"/> 

<ResourceParams name="jdbc/myoracle">
  <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
  </parameter>
  <parameter>
    <name>driverClassName</name>
    <value>oracle.jdbc.driver.OracleDriver</value>
  </parameter>
  <parameter>
    <name>url</name>
    <value>jdbc:oracle:oci:@freewilly</value>
  </parameter>
  <parameter>
    <name>username</name>
    <value>wwwuser</value>
  </parameter>
  <parameter>
    <name>password</name>
    <value>www007skid00</value>
  </parameter>
  <parameter>
    <name>maxActive</name>
    <value>20</value>
  </parameter>
  <parameter>
    <name>maxIdle</name>
    <value>10</value>
  </parameter>
  <parameter>
    <name>maxWait</name>
    <value>-1</value>
  </parameter>
  <parameter>
    <name>extra</name>
    <value>pwf</value>
  </parameter>
  <parameter>
    <name>removeAbandoned</name>
    <value>true</value>
  </parameter>
  <parameter>
    <name>removeAbandonedTimeout</name>
    <value>60</value>
  </parameter>
  <parameter>
    <name>logAbandoned</name>
    <value>true</value>
  </parameter>
</ResourceParams>

<ResourceParams name="jdbc/bookstoreCPDS">
  <parameter>
    <name>factory</name>
    <value>org.apache.commons.dbcp.BasicDataSourceFactory</value>
  </parameter>
  <parameter>
    <name>driverClassName</name>
    <value>oracle.jdbc.driver.OracleDriver</value>
  </parameter>
  <parameter>
    <name>url</name>
    <value>jdbc:oracle:oci:@freewilly</value>
  </parameter>
  <parameter>
    <name>username</name>
    <value>wwwuser</value>
  </parameter>
  <parameter>
    <name>password</name>
    <value>www007skid00</value>
  </parameter>
  <parameter>
    <name>_uname</name>
    <value>wwwuser</value>
  </parameter>
  <parameter>
    <name>_passwd</name>
    <value>www007skid00</value>
  </parameter>
  <parameter>
    <name>maxActive</name>
    <value>20</value>
  </parameter>
  <parameter>
    <name>maxIdle</name>
    <value>10</value>
  </parameter>
  <parameter>
    <name>maxWait</name>
    <value>-1</value>
  </parameter>
  <parameter>
    <name>removeAbandoned</name>
    <value>true</value>
  </parameter>
  <parameter>
    <name>removeAbandonedTimeout</name>
    <value>60</value>
  </parameter>
  <parameter>
    <name>logAbandoned</name>
    <value>true</value>
  </parameter>
</ResourceParams>

 <ResourceParams name="jdbc/bookstore">
    <parameter>
      <name>factory</name>
      <value>org.apache.commons.dbcp.jdbc2pool.Jdbc2PoolDataSource</value>
    </parameter>
    <parameter>
      <name>dataSourceName</name><value>java:comp/env/jdbc/bookstoreCPDS</value>
    </parameter>
    <parameter>
      <name>defaultMaxActive</name><value>30</value>
    </parameter>
  <parameter>
    <name>removeAbandoned</name>
    <value>true</value>
  </parameter>
  <parameter>
    <name>removeAbandonedTimeout</name>
    <value>60</value>
  </parameter>
  <parameter>
    <name>logAbandoned</name>
    <value>true</value>
  </parameter>
  </ResourceParams>
-->
</Context>         

<!-- [GS] Added 5/2/03         
        <Context path="/cardblob" docBase="E:\jakarta-tomcat-4.0\webapps\cardblob.war" debug="9" reloadable="true">
                <Logger className="org.apache.catalina.logger.FileLogger"
                           prefix="cardblob" suffix=".log"
                        timestamp="true"/>
        </Context>
-->
        
<!-- [GS] Added 5/2/03 -->        
<!-- TRY: use a path relative to $CATALINA_HOME (NO: Relative to webappBase!)
        <Context path="/cardblob" docBase="E:/Tomcat 4.1/webapps/cardblob.war" debug="9" reloadable="true">
                <Logger className="org.apache.catalina.logger.FileLogger"
                           prefix="cardblob" suffix=".log"
                        timestamp="true"/>
        </Context> 
        <Context path="/cardblob" docBase="cardblob.war" debug="9" reloadable="true">
                <Logger className="org.apache.catalina.logger.FileLogger"
                           prefix="cardblob" suffix=".log"
                        timestamp="true"/>
        </Context>
        
        
        <!== [GS] Works OK! ==>
        
        <Context path="/phonebook" docBase="E:\waptest\phonebook" debug="9" reloadable="true">
                  <Logger className="org.apache.catalina.logger.FileLogger"
                             prefix="phonebook" suffix=".log"
                      timestamp="true"/>
        </Context>
-->
</Host>
</Engine>
</Service>
&other_file;
</Server>