Hello.
I'm trying to find the smallest cocoon configuration for a simple xml->html 
application. I used original cocoon directory and removed everything i can 
from sitemap and configuration. This is OK.
Now i'm trying to remove useless jars, as stated in docs, and restart tomcat 
everytime to check my app still works. I succeded from many package (xt.jar 
xerces_1_4_3.jar rhino.jar bsf.jar fop-0_20_1-dev.jar batik-libs.jar 
jimi-1.0.jar jstyle.jar, junit.jar, velocity.jar), but as soon as i remove 
either hsqldb.jar or maybeupload.jar, it breaks (interupted connexion from 
the server) with nothing worth in the logs. Most curious is that just putting 
the jars back (and restart tomcat, of course) is not enough, i have to put 
back every removed jars so far.
I highly suspect they are still some configuration options related to 
database of upload lying in configuration files, but i didn't found them. Or 
are they default options ?

I use cocoon 2 rc1 on Linux, with tomcat 3.2.3. I'm joining configuration 
files.
-- 
Guillaume Rousse <[EMAIL PROTECTED]>
GPG key http://lis.snv.jussieu.fr/~rousse/gpgkey.html
<?xml version="1.0"?>
<cocoon version="2.0">

<!-- ===================== General Components =========================== -->

  <!-- The default parser used in the Apache Cocoon 2 system is
       org.apache.cocoon.components.parser.JaxpParser.
       Apache Cocoon 2 system requires a JAXP 1.1 parser.
       If you have problems because your servlet environment uses its own
       parser not conforming to JAXP 1.1 try using the alternative
       XercesParser instead of the JaxpParser. To activate the XercesParser
       move the line below starting with <parser ...> out of this comment block.
       You also than have to add a system property to your JVM
       (probably on the startup of your servlet engine like this:

       -Dorg.apache.cocoon.components.parser.Parser=org.apache.cocoon.components.parser.XercesParser

  <parser class="org.apache.cocoon.components.parser.XercesParser"/>
  -->

  <hsqldb-server/>

  <!-- Storing:
       maxobjects: Indicates how many objects will be hold in the cache.
                   When the number of maxobjects has been reached. The
                   last object in the cache will be thrown out.
       threadpriority: Indicates the priority of the writer thread.
                       (1 is the lowest priority and 10 is the highest).
       filesystem: Turns the filesystem storage for objects on or off.
  -->
  <store class="org.apache.cocoon.components.store.MRUMemoryStore" logger="root.store">
     <parameter name="maxobjects" value="100"/>
     <parameter name="threadpriority" value="5"/>
     <parameter name="filesystem" value="true"/>
  </store>

  <!-- Store Janitor:
    freememory = How much free memory shall be available in the jvm
    heapsize = Indicates the limit of the jvm memory consumption
    cleanupthreadinterval = How often shall the cleanup thread check memory
    threadpriority = Indicates the thread priority of the cleanup thread

    Be carefull with the heapsize and freememory paramters. Wrong values can
    cause high cpu usage.
    Example configuration:
    Jvm settings: 
      -Xms100000000 -Xmx200000000
    store-janitor settings:
       <parameter name="freememory" value="50000000"/>
       <parameter name="heapsize" value="150000000"/>
  
    Heapsize must be higher then the -Xms parameter and freememory
    between those both.    
  -->
  <store-janitor class="org.apache.cocoon.components.store.StoreJanitorImpl" logger="root.store">
     <parameter name="freememory" value="1000000"/>
     <parameter name="heapsize" value="60000000"/>
     <parameter name="cleanupthreadinterval" value="10"/>
     <parameter name="threadpriority" value="5"/>
  </store-janitor>

  <xslt-processor class="org.apache.cocoon.components.xslt.XSLTProcessorImpl" logger="root.xslt">
     <parameter name="use-store" value="true"/>
  </xslt-processor>

  <!-- The url factory adds special url protocols to the system, they
       are then available inside Cocoon, e.g. as a source argument
       for one of the sitemap components -->
  <url-factory>
    <protocol name="resource" class="org.apache.cocoon.components.url.ResourceURLFactory"/>
    <protocol name="context"  class="org.apache.cocoon.components.url.ContextURLFactory"/>
  </url-factory>

  <!-- The source handler adds special url protocols to the system, they
       are then available inside Cocoon, e.g. as a source argument
       for one of the sitemap components. -->
  <source-handler/>

  <!-- The ProgamGenerator builts programs from a XML document written in 
       a MarkupLanguage.
       auto-reload: 
       root-package: persistent code repository.
       preload:  -->
  <program-generator>
    <parameter name="auto-reload" value="true"/>
    <parameter name="root-package" value="org.apache.cocoon.www"/>
    <parameter name="preload" value="true"/>
  </program-generator>

  <!-- The JspGenerator selects a JSPEngine component. The JSPEngine component launches 
       a JSP servlet engine of your servlet container, feeds the HttpRequest into the JSP 
       servlet engine, and pipes the jsp response as SAX events into Cocoon2. The JSP page 
       is specified by the HttpRequest. This way you can continue to use your JSP pages. 
       Your migration from JSP to XSP may be done step by step. You may specify your JSP 
       pages either as JSP scriptlets or as JSP-XML. But keep in mind that your JSP output 
       should be valid XML. -->
  <jsp-engine>
    <parameter name="servlet-class" value="org.apache.jasper.servlet.JspServlet"/>
    <parameter name="servlet-name" value="*.jsp"/>
  </jsp-engine>

  <programming-languages>
    <java-language name="java">
      <!-- compiler parameter specifies which class to use to compile Java.
           Possible variants are Javac and Jikes compilers.
           Javac requires javac.jar (included with Cocoon distribution).
           Jikes requires IBM jikes compiler to be present in the PATH  -->
      <parameter name="compiler" value="org.apache.cocoon.components.language.programming.java.Javac"/>
      <!-- Specifies which formatter to use to format source code.
           This parameter is optional. -->
      <parameter name="code-formatter" value="org.apache.cocoon.components.language.programming.java.JstyleFormatter"/>
      <!-- A singleton-like implementation of a ClassLoader -->
      <parameter name="class-loader" value="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/>
    </java-language>
  </programming-languages>

  <!-- A singleton-like implementation of a ClassLoader -->
  <classloader class="org.apache.cocoon.components.classloader.ClassLoaderManagerImpl"/>
  
  <!-- This section defines several builtin logicsheets. A logicsheet is an XML filter used 
       to translate user-defined, dynamic markup into equivalent code embedding directives 
       for a given markup language. -->
  <markup-languages>
    <xsp-language name="xsp">
      <parameter name="prefix" value="xsp"/>
      <parameter name="uri" value="http://apache.org/xsp"/>

      <!-- Defines the XSP Core logicsheet for the Java language -->
      <target-language name="java">
        <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/xsp/java/xsp.xsl"/>
        
        <!-- The Request logicsheet (taglib) is an XSP logicsheet that wraps XML tags 
             around standard request operations -->
        <builtin-logicsheet>
          <parameter name="prefix" value="xsp-request"/>
          <parameter name="uri" value="http://apache.org/xsp/request/2.0"/>
          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/request.xsl"/>
        </builtin-logicsheet>
       
        <!-- The Response logicsheet (taglib) is an XSP logicsheet that wraps XML tags 
             around standard response operations -->
        <builtin-logicsheet>
          <parameter name="prefix" value="xsp-response"/>
          <parameter name="uri" value="http://apache.org/xsp/response/2.0"/>
          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/response.xsl"/>
        </builtin-logicsheet>

        <!-- The Session logicsheet (taglib) is an XSP logicsheet that wraps XML tags around 
             standard session operations. Specifically, the Session logicsheet provides an 
             XML interface to most methods of the HttpSession object (see the Java Servlet API 
             Specification, version 2.2 ) for more information. -->
        <builtin-logicsheet>
          <parameter name="prefix" value="session"/>
          <parameter name="uri" value="http://apache.org/xsp/session/2.0"/>
          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/session.xsl"/>
        </builtin-logicsheet>

        <builtin-logicsheet>
          <parameter name="prefix" value="xsp-cookie"/>
          <parameter name="uri" value="http://apache.org/xsp/cookie/2.0"/>
          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/cookie.xsl"/>
        </builtin-logicsheet>

        <builtin-logicsheet>
          <parameter name="prefix" value="log"/>
          <parameter name="uri" value="http://apache.org/xsp/log/2.0"/>
          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/log.xsl"/>
        </builtin-logicsheet>

        <builtin-logicsheet>
          <parameter name="prefix" value="util"/>
          <parameter name="uri" value="http://apache.org/xsp/util/2.0"/>
          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/util.xsl"/>
        </builtin-logicsheet>
        
        <!-- The xsp-formval taglib serves as interface to retrieve validation results 
             from a request attribute -->
        <builtin-logicsheet>
          <parameter name="prefix" value="xsp-formval"/>
          <parameter name="uri" value="http://apache.org/xsp/form-validator/2.0"/>
          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/form-validator.xsl"/>
        </builtin-logicsheet>

        <!-- The capture taglib is for capturing parts of the XSP-generated XML as
             XML fragments or DOM nodes -->
        <builtin-logicsheet>
          <parameter name="prefix" value="capture"/>
          <parameter name="uri" value="http://apache.org/cocoon/capture/1.0"/>
          <parameter name="href" value="resource://org/apache/cocoon/components/language/markup/xsp/java/capture.xsl"/>
        </builtin-logicsheet>

      </target-language>
    </xsp-language>

    <!-- Defines Sitemap Core logicsheet for the Java language -->
    <sitemap-language name="sitemap">
      <parameter name="prefix" value="map"/>
      <parameter name="uri" value="http://apache.org/cocoon/sitemap/1.0"/>

      <target-language name="java">
        <parameter name="core-logicsheet" value="resource://org/apache/cocoon/components/language/markup/sitemap/java/sitemap.xsl"/>
      </target-language>
    </sitemap-language>
  </markup-languages>

  <datasources/>

  <!-- A StreamPipeline either
       collects a Reader and let it produce a character stream
       or connects a EventPipeline with a
       Serializer and let them produce the character stream.
  -->
  <stream-pipeline class="org.apache.cocoon.components.pipeline.CachingStreamPipeline"
                   pool-max="32" pool-min="16" pool-grow="4"/>

  <!-- Caching of stream pipeline:
       freememory: Indicates how much memory should be left free in the
                   JVM for normal operation.
       heapsize: Indicates how big the heap size can grow to before the
                 cleanup thread kicks in.
       cleanupthreadinterval: Indicates the interval of the cleanup thread in seconds.
       maxobjects: Indicates how many objects will be hold in the cache.
                   When the number of maxobjects has been reached. The
                   last object in the cache will be thrown out.
       usecleanupthread: Indicates whether we use a cleanup thread or not.
       threadpriority: Indicates the priority of the cleanup thread.
                       (1 is the lowest priority and 10 is the highest).
       filesystem: Turns the filesystem storage for objects on or off.
  -->
  <stream-cache class="org.apache.cocoon.components.store.MRUMemoryStore" logger="root.store">
     <parameter name="maxobjects" value="100"/>
     <parameter name="threadpriority" value="5"/>
     <parameter name="filesystem" value="true"/>
  </stream-cache>

  <!-- An EventPipeline connects the generator and the various transformers
       and produces a character stream. Alternatives to CachingEventPipeline
       is: NonCachingEventPipeline.
  <event-pipeline class="org.apache.cocoon.components.pipeline.NonCachingEventPipeline"/>
  -->
  <event-pipeline class="org.apache.cocoon.components.pipeline.CachingEventPipeline"
                  pool-max="32" pool-min="16" pool-grow="4"/>

  <!-- Caching of event pipeline:
       maxobjects: Indicates how many objects will be hold in the cache.
                   When the number of maxobjects has been reached. The
                   last object in the cache will be thrown out.
       threadpriority: Indicates the priority of the cleanup thread.
                       (1 is the lowest priority and 10 is the highest).
       filesystem: Turns the filesystem storage for objects on or off.
  -->
  <event-cache class="org.apache.cocoon.components.store.MRUMemoryStore" logger="root.store">
     <parameter name="maxobjects" value="100"/>
     <parameter name="threadpriority" value="5"/>
     <parameter name="filesystem" value="true"/>
  </event-cache>

  <!-- The SAXConnector connects the various pipeline components.
       LoggingSAXConnector logs SAX events between pipeline components
       into a cocoon's log file.
       Uncomment one of the following lines for using the SAXConnector.
  <sax-connector class="org.apache.cocoon.components.saxconnector.LoggingSAXConnector"/>
  -->

<!-- ======================== The sitemap  ============================== -->

  <!-- The reloading of the sitemap:
        The check-reload attribute determines if the sitemap is reloaded on change. If
        it is set to "no", the sitemap is generated once at startup, if it is set to "yes",
        the sitemap is regenerated if it changes.
        The reload-method specifies the method for the regeneration:
        asynchron: If the sitemap changes, the sitemap is regenerated at the next request in
                         the background and the incoming request is served with the old sitemap.
                         All subsequent requests are served with the old sitemap until the
                         regeneration in the background has finished.
        synchron: If the sitemap changes, the sitemap is regenerated at the next request.
                       When the regeneration is finished the request (and all subsequent ones)
                       is served with the new sitemap.

        For development environment set the reload-method to synchron and the
        check-reload to yes, for production environment it is advisable to set
        the reload-method to asynchron and for more safety the check-reload to no.
     -->
  <sitemap file="sitemap.xmap" reload-method="asynchron" check-reload="yes"/>

</cocoon>
<?xml version="1.0"?>

<map:sitemap xmlns:map="http://apache.org/cocoon/sitemap/1.0";>

<!-- =========================== Components ================================ -->

  <map:components>

    <map:generators default="file">
      <map:generator name="file" src="org.apache.cocoon.generation.FileGenerator" label="content" pool-max="32" pool-min="16" pool-grow="4"/>
    </map:generators>

    <map:transformers default="xslt">
      <map:transformer name="xslt" src="org.apache.cocoon.transformation.TraxTransformer" pool-max="32" pool-min="16" pool-grow="4">
        <use-request-parameters>false</use-request-parameters>
        <use-browser-capabilities-db>false</use-browser-capabilities-db>
      </map:transformer>
    </map:transformers>

    <map:readers default="resource"/>

    <map:serializers default="html">
      <map:serializer name="html" mime-type="text/html" src="org.apache.cocoon.serialization.HTMLSerializer"/>
    </map:serializers>

    <map:selectors default="browser"/>

    <map:matchers default="wildcard">
      <map:matcher name="wildcard" src="org.apache.cocoon.matching.WildcardURIMatcherFactory"/>
      <map:matcher name="regexp" src="org.apache.cocoon.matching.RegexpURIMatcherFactory"/>
    </map:matchers>

  </map:components>

<!-- =========================== Pipelines ================================= -->

  <map:pipelines>
    <map:pipeline>

      <map:match pattern="">
        <map:redirect-to uri="index.html"/>
      </map:match>

      <map:match pattern="index.html">
        <map:generate src="data/datasets.xml"/>
        <map:transform src="style/welcome_page.xsl"/>
        <map:serialize/>
      </map:match>

      <map:match pattern="*/index.html">
        <map:generate src="data/{1}.xml"/>
        <map:transform src="style/dataset_page.xsl"/>
        <map:serialize type="html"/>
      </map:match>

      <map:match type="regexp" pattern="(.*)/(.*s).html">
        <map:generate src="data/{1}.xml"/>
        <map:transform src="style/section_page.xsl">
          <map:parameter name="section" value="{2}"/>
        </map:transform>
        <map:serialize type="html"/>
      </map:match>

      <map:match type="regexp" pattern="(.*)/(.*[0-9]*).html">
        <map:generate src="data/{1}.xml"/>
        <map:transform src="style/object_page.xsl">
          <map:parameter name="object" value="{2}"/>
        </map:transform>
        <map:serialize type="html"/>
      </map:match>

    </map:pipeline>
  </map:pipelines>

</map:sitemap>

<!-- end of file -->
<?xml version="1.0" encoding="ISO-8859-1"?>

<!--
  This is the web-app configurations that allow Cocoon to work under
  Apache Tomcat. Please, follow the installation section of the
  documentation for more information about installing Cocoon on Tomcat
-->

<!DOCTYPE web-app
    PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application 2.2//EN"
    "http://java.sun.com/j2ee/dtds/web-app_2_2.dtd";>

<web-app>
  <display-name>Cocoon2 Demo</display-name>
  <description>Demo application for Cocoon2</description>
  <servlet>
    <servlet-name>Cocoon2</servlet-name>
    <display-name>Cocoon2</display-name>
    <description>The main Cocoon2 servlet</description>

    <!--
      In cases you're facing class loader problems you can alternatively
      use the following servlet-class instead of the normal one

      <servlet-class>org.apache.cocoon.servlet.ParanoidCocoonServlet</servlet-class>

    -->
    <servlet-class>org.apache.cocoon.servlet.CocoonServlet</servlet-class>

    <!--
      This parameter points to the main configuration file for Cocoon.
      Note that the path is specified in absolute notation but it will be
      resolved relative to the servlets webapp context path
    -->
    <init-param>
      <param-name>configurations</param-name>
      <param-value>/cocoon.xconf</param-value>
    </init-param>

    <!--
      This parameter tells cocoon to load all the required libraries into
      it's own classloader instead of trusting the Servlet Vendor's
      classloader.  If you experience strange classloader issues,
      try setting this parameter to "true".
    -->
    <init-param>
      <param-name>init-classloader</param-name>
      <param-value>false</param-value>
    </init-param>

    <!--
      This parameter indicates the configuration file of the LogKit management
    -->
    <init-param>
      <param-name>logkit-config</param-name>
      <param-value>/WEB-INF/logkit.xconf</param-value>
    </init-param>

    <!--
      This parameter indicates the category id of the logger from the LogKit
      configuration used by the CocoonServlet.
    -->
    <init-param>
      <param-name>servlet-logger</param-name>
      <param-value>root</param-value>
    </init-param>

    <!--
      This parameter indicates the category id of the logger from the LogKit
      management configuration for the Cocoon engine.
      This logger is used for all components described in the cocoon.xconf
      and sitemap.xmap file not having specified a logger with the
      logger="..." attribute in the component configuration file.
    -->
    <init-param>
      <param-name>cocoon-logger</param-name>
      <param-value>cocoon</param-value>
    </init-param>

    <!--
      This parameter indicates the log level to use throughout startup of the system

      Available levels are:
        DEBUG:        prints all level of log messages.
        INFO:         prints all level of log messages except DEBUG ones.
        WARN:         prints all level of log messages except DEBUG and INFO ones.
        ERROR:        prints all level of log messages except DEBUG, INFO and WARN ones.
        FATAL-ERROR: prints only log messages of this level
    -->
    <init-param>
      <param-name>log-level</param-name>
      <param-value>DEBUG</param-value>
    </init-param>

    <!--
      Allow reinstantiating (reloading) of the cocoon instance. If this is
      set to "yes" or "true", a new cocoon instance can be created using
      the request parameter "cocoon-reload".
    -->
    <init-param>
      <param-name>allow-reload</param-name>
      <param-value>yes</param-value>
    </init-param>

    <!--
      This parameter allows you to startup Cocoon2 immediately after startup
      of your servlet engine.
    -->
    <load-on-startup>1</load-on-startup>

    <!--
      If you set this parameter to 'true' or 'yes', Cocoon will add processing
      time to the end of each response. Value 'hide' adds processing time as an HTML
      comment. By default, processing time is not added (corresponds to value 'no').
    -->

    <init-param>
      <param-name>show-time</param-name>
      <param-value>true</param-value>
    </init-param>
  </servlet>

  <servlet-mapping>
    <servlet-name>Cocoon2</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>
</web-app>
---------------------------------------------------------------------
Please check that your question has not already been answered in the
FAQ before posting. <http://xml.apache.org/cocoon/faqs.html>

To unsubscribe, e-mail: <[EMAIL PROTECTED]>
For additional commands, e-mail: <[EMAIL PROTECTED]>

Reply via email to