|  | @@ -0,0 +1,384 @@
 | 
	
		
			
				|  |  | +<!-- Example Server Configuration File -->
 | 
	
		
			
				|  |  | +<!-- Note that component elements are nested corresponding to their
 | 
	
		
			
				|  |  | +     parent-child relationships with each other -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<!-- A "Server" is a singleton element that represents the entire JVM,
 | 
	
		
			
				|  |  | +     which may contain one or more "Service" instances.  The Server
 | 
	
		
			
				|  |  | +     listens for a shutdown command on the indicated port.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +     Note:  A "Server" is not itself a "Container", so you may not
 | 
	
		
			
				|  |  | +     define subcomponents such as "Valves" or "Loggers" at this level.
 | 
	
		
			
				|  |  | + -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +<Server port="8005" shutdown="SHUTDOWN" debug="0">
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  <!-- Comment these entries out to disable JMX MBeans support -->
 | 
	
		
			
				|  |  | +  <!-- You may also configure custom components (e.g. Valves/Realms) by
 | 
	
		
			
				|  |  | +       including your own mbean-descriptor file(s), and setting the
 | 
	
		
			
				|  |  | +       "descriptors" attribute to point to a ';' seperated list of paths
 | 
	
		
			
				|  |  | +       (in the ClassLoader sense) of files to add to the default list.
 | 
	
		
			
				|  |  | +       e.g. descriptors="/com/myfirm/mypackage/mbean-descriptor.xml"
 | 
	
		
			
				|  |  | +  -->
 | 
	
		
			
				|  |  | +  <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener"
 | 
	
		
			
				|  |  | +            debug="0"/>
 | 
	
		
			
				|  |  | +  <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener"
 | 
	
		
			
				|  |  | +            debug="0"/>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  <!-- 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"
 | 
	
		
			
				|  |  | +       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>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  <!-- A "Service" is a collection of one or more "Connectors" that share
 | 
	
		
			
				|  |  | +       a single "Container" (and therefore the web applications visible
 | 
	
		
			
				|  |  | +       within that Container).  Normally, that Container is an "Engine",
 | 
	
		
			
				|  |  | +       but this is not required.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +       Note:  A "Service" is not itself a "Container", so you may not
 | 
	
		
			
				|  |  | +       define subcomponents such as "Valves" or "Loggers" at this level.
 | 
	
		
			
				|  |  | +   -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  <!-- Define the Tomcat Stand-Alone Service -->
 | 
	
		
			
				|  |  | +  <Service name="Tomcat-Standalone">
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!-- A "Connector" represents an endpoint by which requests are received
 | 
	
		
			
				|  |  | +         and responses are returned.  Each Connector passes requests on to the
 | 
	
		
			
				|  |  | +         associated "Container" (normally an Engine) for processing.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +         By default, a non-SSL HTTP/1.1 Connector is established on port 8080.
 | 
	
		
			
				|  |  | +         You can also enable an SSL HTTP/1.1 Connector on port 8443 by
 | 
	
		
			
				|  |  | +         following the instructions below and uncommenting the second Connector
 | 
	
		
			
				|  |  | +         entry.  SSL support requires the following steps (see the SSL Config
 | 
	
		
			
				|  |  | +         HOWTO in the Tomcat 4.0 documentation bundle for more detailed
 | 
	
		
			
				|  |  | +         instructions):
 | 
	
		
			
				|  |  | +         * Download and install JSSE 1.0.2 or later, and put the JAR files
 | 
	
		
			
				|  |  | +           into "$JAVA_HOME/jre/lib/ext".
 | 
	
		
			
				|  |  | +         * Execute:
 | 
	
		
			
				|  |  | +             %JAVA_HOME%\bin\keytool -genkey -alias tomcat -keyalg RSA (Windows)
 | 
	
		
			
				|  |  | +             $JAVA_HOME/bin/keytool -genkey -alias tomcat -keyalg RSA  (Unix)
 | 
	
		
			
				|  |  | +           with a password value of "changeit" for both the certificate and
 | 
	
		
			
				|  |  | +           the keystore itself.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +         By default, DNS lookups are enabled when a web application calls
 | 
	
		
			
				|  |  | +         request.getRemoteHost().  This can have an adverse impact on
 | 
	
		
			
				|  |  | +         performance, so you can disable it by setting the
 | 
	
		
			
				|  |  | +         "enableLookups" attribute to "false".  When DNS lookups are disabled,
 | 
	
		
			
				|  |  | +         request.getRemoteHost() will return the String version of the
 | 
	
		
			
				|  |  | +         IP address of the remote client.
 | 
	
		
			
				|  |  | +    -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!-- 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="0" connectionTimeout="20000"
 | 
	
		
			
				|  |  | +               useURIValidationHack="false" disableUploadTimeout="true" />
 | 
	
		
			
				|  |  | +    <!-- Note : To disable connection timeouts, set connectionTimeout value
 | 
	
		
			
				|  |  | +     to 0 -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
 | 
	
		
			
				|  |  | +    <!--
 | 
	
		
			
				|  |  | +    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
 | 
	
		
			
				|  |  | +               port="8443" minProcessors="5" maxProcessors="75"
 | 
	
		
			
				|  |  | +               enableLookups="true"
 | 
	
		
			
				|  |  | +           acceptCount="100" debug="0" scheme="https" secure="true"
 | 
	
		
			
				|  |  | +               useURIValidationHack="false" disableUploadTimeout="true">
 | 
	
		
			
				|  |  | +      <Factory className="org.apache.coyote.tomcat4.CoyoteServerSocketFactory"
 | 
	
		
			
				|  |  | +               clientAuth="false" protocol="TLS" />
 | 
	
		
			
				|  |  | +    </Connector>
 | 
	
		
			
				|  |  | +    -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!-- 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="0" connectionTimeout="0"
 | 
	
		
			
				|  |  | +               useURIValidationHack="false"
 | 
	
		
			
				|  |  | +               protocolHandlerClassName="org.apache.jk.server.JkCoyoteHandler"/>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!-- Define an AJP 1.3 Connector on port 8009 -->
 | 
	
		
			
				|  |  | +    <!--
 | 
	
		
			
				|  |  | +    <Connector className="org.apache.ajp.tomcat4.Ajp13Connector"
 | 
	
		
			
				|  |  | +               port="8009" minProcessors="5" maxProcessors="75"
 | 
	
		
			
				|  |  | +               acceptCount="10" debug="0"/>
 | 
	
		
			
				|  |  | +    -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!-- Define a Proxied HTTP/1.1 Connector on port 8082 -->
 | 
	
		
			
				|  |  | +    <!-- See proxy documentation for more information about using this. -->
 | 
	
		
			
				|  |  | +    <!--
 | 
	
		
			
				|  |  | +    <Connector className="org.apache.coyote.tomcat4.CoyoteConnector"
 | 
	
		
			
				|  |  | +               port="8082" minProcessors="5" maxProcessors="75"
 | 
	
		
			
				|  |  | +               enableLookups="true"
 | 
	
		
			
				|  |  | +               acceptCount="100" debug="0" connectionTimeout="20000"
 | 
	
		
			
				|  |  | +               proxyPort="80" useURIValidationHack="false"
 | 
	
		
			
				|  |  | +               disableUploadTimeout="true" />
 | 
	
		
			
				|  |  | +    -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!-- Define a non-SSL legacy HTTP/1.1 Test Connector on port 8083 -->
 | 
	
		
			
				|  |  | +    <!--
 | 
	
		
			
				|  |  | +    <Connector className="org.apache.catalina.connector.http.HttpConnector"
 | 
	
		
			
				|  |  | +               port="8083" minProcessors="5" maxProcessors="75"
 | 
	
		
			
				|  |  | +               enableLookups="true" redirectPort="8443"
 | 
	
		
			
				|  |  | +               acceptCount="10" debug="0" />
 | 
	
		
			
				|  |  | +    -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!-- Define a non-SSL HTTP/1.0 Test Connector on port 8084 -->
 | 
	
		
			
				|  |  | +    <!--
 | 
	
		
			
				|  |  | +    <Connector className="org.apache.catalina.connector.http10.HttpConnector"
 | 
	
		
			
				|  |  | +               port="8084" minProcessors="5" maxProcessors="75"
 | 
	
		
			
				|  |  | +               enableLookups="true" redirectPort="8443"
 | 
	
		
			
				|  |  | +               acceptCount="10" debug="0" />
 | 
	
		
			
				|  |  | +    -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!-- An Engine represents the entry point (within Catalina) that processes
 | 
	
		
			
				|  |  | +         every request.  The Engine implementation for Tomcat stand alone
 | 
	
		
			
				|  |  | +         analyzes the HTTP headers included with the request, and passes them
 | 
	
		
			
				|  |  | +         on to the appropriate Host (virtual host). -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!-- You should set jvmRoute to support load-balancing via JK/JK2 ie :
 | 
	
		
			
				|  |  | +    <Engine name="Standalone" defaultHost="localhost" debug="0" jvmRoute="jvm1">
 | 
	
		
			
				|  |  | +    -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    <!-- Define the top level container in our container hierarchy -->
 | 
	
		
			
				|  |  | +    <Engine name="Standalone" defaultHost="localhost" debug="0">
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <!-- The request dumper valve dumps useful debugging information about
 | 
	
		
			
				|  |  | +           the request headers and cookies that were received, and the response
 | 
	
		
			
				|  |  | +           headers and cookies that were sent, for all requests received by
 | 
	
		
			
				|  |  | +           this instance of Tomcat.  If you care only about requests to a
 | 
	
		
			
				|  |  | +           particular virtual host, or a particular application, nest this
 | 
	
		
			
				|  |  | +           element inside the corresponding <Host> or <Context> entry instead.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +           For a similar mechanism that is portable to all Servlet 2.3
 | 
	
		
			
				|  |  | +           containers, check out the "RequestDumperFilter" Filter in the
 | 
	
		
			
				|  |  | +           example application (the source for this filter may be found in
 | 
	
		
			
				|  |  | +           "$CATALINA_HOME/webapps/examples/WEB-INF/classes/filters").
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +           Request dumping is disabled by default.  Uncomment the following
 | 
	
		
			
				|  |  | +           element to enable it. -->
 | 
	
		
			
				|  |  | +      <!--
 | 
	
		
			
				|  |  | +      <Valve className="org.apache.catalina.valves.RequestDumperValve"/>
 | 
	
		
			
				|  |  | +      -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <!-- 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 -->
 | 
	
		
			
				|  |  | +      <Realm className="net.sf.acegisecurity.adapters.catalina.CatalinaAcegiUserRealm"
 | 
	
		
			
				|  |  | +         appContextLocation="conf/acegisecurity.xml"
 | 
	
		
			
				|  |  | +         key="my_password"/>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <!-- Comment out the old realm but leave here for now in case we
 | 
	
		
			
				|  |  | +           need to go back quickly -->
 | 
	
		
			
				|  |  | +      <!--
 | 
	
		
			
				|  |  | +      <Realm className="org.apache.catalina.realm.MemoryRealm" />
 | 
	
		
			
				|  |  | +      -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <!-- Replace the above Realm with one of the following to get a Realm
 | 
	
		
			
				|  |  | +           stored in a database and accessed via JDBC -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <!--
 | 
	
		
			
				|  |  | +      <Realm  className="org.apache.catalina.realm.JDBCRealm" debug="99"
 | 
	
		
			
				|  |  | +             driverName="org.gjt.mm.mysql.Driver"
 | 
	
		
			
				|  |  | +          connectionURL="jdbc:mysql://localhost/authority"
 | 
	
		
			
				|  |  | +         connectionName="test" connectionPassword="test"
 | 
	
		
			
				|  |  | +              userTable="users" userNameCol="user_name" userCredCol="user_pass"
 | 
	
		
			
				|  |  | +          userRoleTable="user_roles" roleNameCol="role_name" />
 | 
	
		
			
				|  |  | +      -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <!--
 | 
	
		
			
				|  |  | +      <Realm  className="org.apache.catalina.realm.JDBCRealm" debug="99"
 | 
	
		
			
				|  |  | +             driverName="oracle.jdbc.driver.OracleDriver"
 | 
	
		
			
				|  |  | +          connectionURL="jdbc:oracle:thin:@ntserver:1521:ORCL"
 | 
	
		
			
				|  |  | +         connectionName="scott" connectionPassword="tiger"
 | 
	
		
			
				|  |  | +              userTable="users" userNameCol="user_name" userCredCol="user_pass"
 | 
	
		
			
				|  |  | +          userRoleTable="user_roles" roleNameCol="role_name" />
 | 
	
		
			
				|  |  | +      -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <!--
 | 
	
		
			
				|  |  | +      <Realm  className="org.apache.catalina.realm.JDBCRealm" debug="99"
 | 
	
		
			
				|  |  | +             driverName="sun.jdbc.odbc.JdbcOdbcDriver"
 | 
	
		
			
				|  |  | +          connectionURL="jdbc:odbc:CATALINA"
 | 
	
		
			
				|  |  | +              userTable="users" userNameCol="user_name" userCredCol="user_pass"
 | 
	
		
			
				|  |  | +          userRoleTable="user_roles" roleNameCol="role_name" />
 | 
	
		
			
				|  |  | +      -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      <!-- Define the default virtual host -->
 | 
	
		
			
				|  |  | +      <Host name="localhost" debug="0" appBase="webapps"
 | 
	
		
			
				|  |  | +       unpackWARs="true" autoDeploy="true">
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <!-- Normally, users must authenticate themselves to each web app
 | 
	
		
			
				|  |  | +             individually.  Uncomment the following entry if you would like
 | 
	
		
			
				|  |  | +             a user to be authenticated the first time they encounter a
 | 
	
		
			
				|  |  | +             resource protected by a security constraint, and then have that
 | 
	
		
			
				|  |  | +             user identity maintained across *all* web applications contained
 | 
	
		
			
				|  |  | +             in this virtual host. -->
 | 
	
		
			
				|  |  | +        <!--
 | 
	
		
			
				|  |  | +        <Valve className="org.apache.catalina.authenticator.SingleSignOn"
 | 
	
		
			
				|  |  | +                   debug="0"/>
 | 
	
		
			
				|  |  | +        -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <!-- Access log processes all requests for this virtual host.  By
 | 
	
		
			
				|  |  | +             default, 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.
 | 
	
		
			
				|  |  | +        -->
 | 
	
		
			
				|  |  | +        <!--
 | 
	
		
			
				|  |  | +        <Valve className="org.apache.catalina.valves.AccessLogValve"
 | 
	
		
			
				|  |  | +                 directory="logs"  prefix="localhost_access_log." suffix=".txt"
 | 
	
		
			
				|  |  | +                 pattern="common" resolveHosts="false"/>
 | 
	
		
			
				|  |  | +        -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <!-- 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.  -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <!-- Tomcat Root Context -->
 | 
	
		
			
				|  |  | +        <!--
 | 
	
		
			
				|  |  | +          <Context path="" docBase="ROOT" debug="0"/>
 | 
	
		
			
				|  |  | +        -->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +        <!-- Tomcat Examples Context -->
 | 
	
		
			
				|  |  | +        <Context path="/examples" docBase="examples" debug="0"
 | 
	
		
			
				|  |  | +                 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"/>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          <!-- 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"/>
 | 
	
		
			
				|  |  | +-->
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +          <!-- PersistentManager: Uncomment the section below to test Persistent
 | 
	
		
			
				|  |  | +               Sessions.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +               saveOnRestart: If true, all active sessions will be saved
 | 
	
		
			
				|  |  | +                 to the Store when Catalina is shutdown, regardless of
 | 
	
		
			
				|  |  | +                 other settings. All Sessions found in the Store will be
 | 
	
		
			
				|  |  | +                 loaded on startup. Sessions past their expiration are
 | 
	
		
			
				|  |  | +                 ignored in both cases.
 | 
	
		
			
				|  |  | +               maxActiveSessions: If 0 or greater, having too many active
 | 
	
		
			
				|  |  | +                 sessions will result in some being swapped out. minIdleSwap
 | 
	
		
			
				|  |  | +                 limits this. -1 or 0 means unlimited sessions are allowed.
 | 
	
		
			
				|  |  | +                 If it is not possible to swap sessions new sessions will
 | 
	
		
			
				|  |  | +                 be rejected.
 | 
	
		
			
				|  |  | +                 This avoids thrashing when the site is highly active.
 | 
	
		
			
				|  |  | +               minIdleSwap: Sessions must be idle for at least this long
 | 
	
		
			
				|  |  | +                 (in seconds) before they will be swapped out due to
 | 
	
		
			
				|  |  | +                 activity.
 | 
	
		
			
				|  |  | +                 0 means sessions will almost always be swapped out after
 | 
	
		
			
				|  |  | +                 use - this will be noticeably slow for your users.
 | 
	
		
			
				|  |  | +               maxIdleSwap: Sessions will be swapped out if idle for this
 | 
	
		
			
				|  |  | +                 long (in seconds). If minIdleSwap is higher, then it will
 | 
	
		
			
				|  |  | +                 override this. This isn't exact: it is checked periodically.
 | 
	
		
			
				|  |  | +                 -1 means sessions won't be swapped out for this reason,
 | 
	
		
			
				|  |  | +                 although they may be swapped out for maxActiveSessions.
 | 
	
		
			
				|  |  | +                 If set to >= 0, guarantees that all sessions found in the
 | 
	
		
			
				|  |  | +                 Store will be loaded on startup.
 | 
	
		
			
				|  |  | +               maxIdleBackup: Sessions will be backed up (saved to the Store,
 | 
	
		
			
				|  |  | +                 but left in active memory) if idle for this long (in seconds),
 | 
	
		
			
				|  |  | +                 and all sessions found in the Store will be loaded on startup.
 | 
	
		
			
				|  |  | +                 If set to -1 sessions will not be backed up, 0 means they
 | 
	
		
			
				|  |  | +                 should be backed up shortly after being used.
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +               To clear sessions from the Store, set maxActiveSessions, maxIdleSwap,
 | 
	
		
			
				|  |  | +               and minIdleBackup all to -1, saveOnRestart to false, then restart
 | 
	
		
			
				|  |  | +               Catalina.
 | 
	
		
			
				|  |  | +          -->
 | 
	
		
			
				|  |  | +          <!--
 | 
	
		
			
				|  |  | +          <Manager className="org.apache.catalina.session.PersistentManager"
 | 
	
		
			
				|  |  | +              debug="0"
 | 
	
		
			
				|  |  | +              saveOnRestart="true"
 | 
	
		
			
				|  |  | +              maxActiveSessions="-1"
 | 
	
		
			
				|  |  | +              minIdleSwap="-1"
 | 
	
		
			
				|  |  | +              maxIdleSwap="-1"
 | 
	
		
			
				|  |  | +              maxIdleBackup="-1">
 | 
	
		
			
				|  |  | +                <Store className="org.apache.catalina.session.FileStore"/>
 | 
	
		
			
				|  |  | +          </Manager>
 | 
	
		
			
				|  |  | +          -->
 | 
	
		
			
				|  |  | +          <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>username</name><value>sa</value></parameter>
 | 
	
		
			
				|  |  | +            <parameter><name>password</name><value></value></parameter>
 | 
	
		
			
				|  |  | +            <parameter><name>driverClassName</name>
 | 
	
		
			
				|  |  | +              <value>org.hsql.jdbcDriver</value></parameter>
 | 
	
		
			
				|  |  | +            <parameter><name>url</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>localhost</value>
 | 
	
		
			
				|  |  | +            </parameter>
 | 
	
		
			
				|  |  | +          </ResourceParams>
 | 
	
		
			
				|  |  | +          <ResourceLink name="linkToGlobalResource"
 | 
	
		
			
				|  |  | +                    global="simpleValue"
 | 
	
		
			
				|  |  | +                    type="java.lang.Integer"/>
 | 
	
		
			
				|  |  | +        </Context>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +      </Host>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +    </Engine>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +  </Service>
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +
 | 
	
		
			
				|  |  | +</Server>
 |