<caucho.com>

<log id='/log' href='stderr:' timestamp='[%Y-%m-%d %H:%M:%S.%s]'/>

<!--
   - Use precompiled JSP classes if available.
   - 'static-encoding' - optimization if you stick to one character set
  -->
<!--jsp precompile='true' static-encoding='true' recompile-on-error='true'/-->
<jsp precompile='false' static-encoding='true' recompile-on-error='false'/>

<http-server>
  <!--
     - The root file directory of the server.  Apache users will change
     - this to /usr/local/apache/htdocs and IIS users will change it
     - to d:\inetpub\wwwroot
    -->
  <app-dir>doc</app-dir>

  <!-- the http port -->
  <!-- laramie: was 8080 -->
  <http port='7080'/>

  <!-- To disable /caucho-status, set this to false -->
  <caucho-status>false</caucho-status>

  <!--
     - The srun port, read by both JVM and plugin
     - 127.0.0.1 is the localhost
  <srun host='127.0.0.1' port='6802'/>
    -->

  <!--
     - How to add SSL:
     -
     - <http port=8443>
     -   <ssl>true</ssl>
     -   <key-store-type>pkcs12</key-store-type>
     -   <key-store-file>keys/server_cert.p12</key-store-file>
     -   <key-store-password>changeit</key-store-password>
     - </http>
    -->

  <!--
     - For production sites, change class-update-interval to something
     - like 60, so it only checks for updates every minute.
    -->
  <class-update-interval>2</class-update-interval>

  <!--
     - If true, the classloader order follows the Servlet spec.
     - If false, the classloader order follows the JDK spec.
    -->
  <servlet-classloader-hack>false</servlet-classloader-hack>

  <!-- maximum number of threads -->
  <thread-max>150</thread-max>

  <!--
     - How many threads to wait for keepalives.  Should be at least the
     - number of Apache processes to get good performance.
    -->
  <thread-keepalive id='100'/>

  <!--
     - How long an idle keepalive connection should listen to the socket.
    -->
  <request-timeout id='30s'/>

  <!--
     - How many sockets to hold in the buffer before failing requests.
    -->
  <accept-buffer-size id='256'/>
  <!--
     - Maximum number of request threads which will wait for a socket.
    -->
  <thread-min id='5'/>

  <!--
     - Ping to test if the web server is still up.  You can uncomment this
     - and point it to pages on the webserver that exercise your main
     - logic (like database access).  If the GET fails, it will restart
     - the server.  This will catch deadlocks, but not JDK freezes.
     -
     - <ping sleep-time='1m' retry-count='3' retry-time='1s'>
     -   <url>http://localhost:8080/ping/ping.jsp</url>
     - </ping>
    -->

  <!--
     - Enables/disables exceptions when the browser closes a connection.
    -->
  <ignore-client-disconnect>true</ignore-client-disconnect>

  <!--
     - Enable internal caching.
     - 'dir' is the directory containing the cache
     - 'size' is the memory size in kb
     - 'entries' is the total number of entries
    -->
  <cache dir='cache' size='1024' entries='8192'/>

  <!--
     - Expires time for a cacheable file.  Production sites will
     - normally change this to '15m'
    -->
  <cache-mapping url-pattern='/' expires='2s'/>

  <!--
     - servlet configuration outside the <host> is a default for all hosts.
    -->
  <servlet-mapping url-pattern='*.xtp' servlet-name='xtp'/>
  <servlet-mapping url-pattern='*.jsp' servlet-name='jsp'/>

  <!--
     - set the pages to be used as welcome (index) files
    -->
  <welcome-file-list>index.xtp, index.jsp, index.html</welcome-file-list>


  <!-- ****************** Dynamide Servlet and Host ************************** -->

  <!-- ***  WARNING: CHANGING THIS FILE IN RESIN MEANS THE SESSIONDATABSE WILL BE DUMPED. ** -->
  <!-- ***             ALL ACTIVE CLIENT DYNAMIDE SESSIONS WILL BE LOST                   ** -->

      <!-- This worked with url-pattern='/*' , but then all the includes looked like servlets too,
           and never got served up.
           Gotta figure out some way so that included files get mapped to file server servlet,
           or gotta figure out how to have dynamideServlet deal with.  For example, some resources
           may come from jar file, some may come from Xindice or eXist, some from filesystem.
           So DynamideServlet must deal with eventually.
           They recommend this, but I never got it to work:
             path-mapping
                url-pattern='/com/dynamide/*'
                real-path='c:/bin/resin-cmp-1.0.5/webapps/dynamide/com/dynamide/$1'
           For now, I just make all Dynamide apps begin with /dynamide.
           This host will be used for all includes since the URL's all are from Host: apps.dynamide.com.

          You can either use
                <servlet ...>
                <init-param WWWROOT="C:/bin/resin-cmp-1.0.5/webapps/dynamide//"/>
                </servlet>
          Or you can leave it empty, and the servlet will use webapps/dynamide as the WWWROOT.
          Note the trailing double slash -- required.
          Note below that the app-dir is ../webapps/dynamide.

        -->

  <!--host id='apps.dynamide.com'-->
  <host id=''>
    <access-log id='log/dynamide-access.log' format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'/>
    <error-log id='log/dynamide-error.log'/>
    <welcome-file-list>index.html</welcome-file-list>


    <web-app id='/static' app-dir='%RESIN_HOME%/webapps/dynamide/wwwroot-static'>
      <classpath id='' source='' compile='false'/>
      <servlet-mapping url-pattern='/static' servlet-name='FileServlet'/>
      <servlet servlet-name='FileServlet' servlet-class='com.caucho.server.http.FileServlet'>
      </servlet>
    </web-app>


    <web-app id='/' app-dir='%RESIN_HOME%/webapps/dynamide'>
      <!--classpath id='WEB-INF/classes' source='WEB-INF/classes' compile='false'/-->
      <classpath id="" source="" compile='false'/>
      <servlet-mapping url-pattern='/*' servlet-name='DynamideServlet'/>
      <servlet servlet-name='DynamideServlet' servlet-class='com.dynamide.DynamideServlet'>
        <load-on-startup/>
        <init-param DYNAMIDE_HOME="${DYNAMIDE_HOME}" />
        <init-param ALLOW_SHUTDOWN="false" />
      </servlet>
      <session-config>
        <session-max>4096</session-max>
        <session-timeout>60</session-timeout>
        <enable-cookies>true</enable-cookies>
        <enable-url-rewriting>false</enable-url-rewriting>
      </session-config>
    </web-app>
  </host>

  <!-- ********************************************************************** -->




  <!-- default host if no other host matches -->
  <host id='localhost'>
    <!--
       - The standalone server should uncomment for access logging.
       - With another web server, like Apache, the web server will
       - log this information.
      -->
    <access-log id='log/access.log'
          format='%h %l %u %t "%r" %s %b "%{Referer}i" "%{User-Agent}i"'/>

    <error-log id='log/error.log'/>

    <!--
       - Specifies an automatically-expanding .war dir.  Any foo.war
       - file will be expanded to a /foo application.
      -->
    <war-dir id='webapps'/>

    <web-app id='/'>
      <!--
         - The classpath directive may be repeated.  Source is optional
         - Servlets and beans generally belong in WEB-INF/classes
        -->
      <classpath id='WEB-INF/classes'
                 source='WEB-INF/classes'
                 compile='true'/>

      <session-config>
        <session-max>4096</session-max>
        <session-timeout>30</session-timeout>
        <enable-cookies>true</enable-cookies>
        <enable-url-rewriting>true</enable-url-rewriting>

        <!--
           - Store sessions in the filesystem, so they can persist across
           - servlet and class changes.
           -
           - Uncomment this during development.
          -->
        <!--
           -  <file-store>WEB-INF/sessions</file-store>
          -->
      </session-config>

      <!-- enable multipart-mime/form processing -->
      <!--
         - <multipart-form upload-max='-1'/>
        -->

    </web-app>

    <!-- I removed all the examples from this instance.  Start up another instance on
          C:\bin\_resin212.withexamples\conf\resin.conf
         if you want. Shut down this instance, since I didn't change the ports
    -->


  </host>

</http-server>
</caucho.com>