cocoon-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From manfred.wei...@rzb.at
Subject Unknown-thread/CocoonServlet: Problem with Cocoon servlet
Date Tue, 31 May 2005 16:18:48 GMT
Hello Cocooners!

We are working on a big problem, please help:

Stats:
IBM Websphere 5.0.2 (runtime IBM 1.3.1)
Cocoon 2.1.5 wrapped by our own RSFCocoonServlet (mostly for GZIP support,
but it is not used in the moment)

This Error occured while posting a big form (120 request parameters)
without any attachment. the form isn´t defined as multipart.
unfortunally this error happens only sometimes. eg running our load runner
test during the night only two times!!
There is an upload in this application, but the uploaded file isn´t stored
on disk - a webservice saves it to a database. Please see the web.xml at
the end for details

Have you ever heard about this kind of error?

ERROR   (2005-05-30) 22:06.29:044   [access] (Unknown-URI)
Unknown-thread/CocoonServlet: Problem with Cocoon servlet
java.io.InterruptedIOException: Read timed out
        at java.net.SocketInputStream.socketRead(Native Method)
        at java.net.SocketInputStream.read(SocketInputStream.java(Compiled
Code))
        at com.ibm.ws.io.Stream.read(Stream.java(Compiled Code))
        at com.ibm.ws.io.ReadStream.read(ReadStream.java(Compiled Code))
        at
com.ibm.ws.http.ContentLengthInputStream.read(ContentLengthInputStream.java(Compiled
 Code))
        at com.ibm.ws.io.ReadStream.read(ReadStream.java(Compiled Code))
        at
com.ibm.ws.webcontainer.http.HttpConnection.read(HttpConnection.java(Inlined
 Compiled Code))
        at
com.ibm.ws.webcontainer.srp.SRPConnection.read(SRPConnection.java(Compiled
Code))
        at
com.ibm.ws.webcontainer.srt.SRTInputStream.read(SRTInputStream.java(Compiled
 Code))
        at
com.ibm.ws.webcontainer.srt.http.HttpInputStream.read(HttpInputStream.java(Compiled
 Code))
        at
java.io.BufferedInputStream.fill(BufferedInputStream.java(Compiled Code))
        at
java.io.BufferedInputStream.read(BufferedInputStream.java(Compiled Code))
        at java.io.FilterInputStream.read(FilterInputStream.java(Inlined
Compiled Code))
        at
java.io.PushbackInputStream.read(PushbackInputStream.java(Compiled Code))
        at
org.apache.cocoon.servlet.multipart.TokenStream.readToBoundary(TokenStream.java(Compiled
 Code))
        at
org.apache.cocoon.servlet.multipart.TokenStream.read(TokenStream.java(Inlined
 Compiled Code))
        at
org.apache.cocoon.servlet.multipart.TokenStream.read(TokenStream.java(Inlined
 Compiled Code))
        at
org.apache.cocoon.servlet.multipart.MultipartParser.parseMultiPart(MultipartParser.java(Compiled
 Code))
        at
org.apache.cocoon.servlet.multipart.MultipartParser.getParts(MultipartParser.java:139)
        at
org.apache.cocoon.servlet.multipart.MultipartParser.getParts(MultipartParser.java(Inlined
 Compiled Code))
        at
org.apache.cocoon.servlet.multipart.RequestFactory.getServletRequest(RequestFactory.java(Compiled
 Code))
        at
org.apache.cocoon.servlet.CocoonServlet.service(CocoonServlet.java(Compiled
Code))
        at
at.rsf4j.cocoon.servlet.RSFCocoonServlet.service(RSFCocoonServlet.java(Compiled
 Code))
        at javax.servlet.http.HttpServlet.service(HttpServlet.java(Compiled
Code))
        at
com.ibm.ws.webcontainer.servlet.StrictServletInstance.doService(StrictServletInstance.java(Compiled
 Code))
        at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet._service(StrictLifecycleServlet.java(Compiled
 Code))
        at
com.ibm.ws.webcontainer.servlet.ServicingServletState.service(StrictLifecycleServlet.java(Compiled
 Code))
        at
com.ibm.ws.webcontainer.servlet.StrictLifecycleServlet.service(StrictLifecycleServlet.java(Inlined
 Compiled Code))
        at
com.ibm.ws.webcontainer.servlet.ServletInstance.service(ServletInstance.java(Compiled
 Code))
        at
com.ibm.ws.webcontainer.servlet.ValidServletReferenceState.dispatch(ValidServletReferenceState.java(Compiled
 Code))
        at
com.ibm.ws.webcontainer.servlet.ServletInstanceReference.dispatch(ServletInstanceReference.java(Inlined
 Compiled Code))
        at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.handleWebAppDispatch(WebAppRequestDispatcher.java(Compiled
 Code))
        at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.dispatch(WebAppRequestDispatcher.java(Compiled
 Code))
        at
com.ibm.ws.webcontainer.webapp.WebAppRequestDispatcher.forward(WebAppRequestDispatcher.java(Compiled
 Code))
        at
com.ibm.ws.webcontainer.srt.WebAppInvoker.doForward(WebAppInvoker.java(Compiled
 Code))
        at
com.ibm.ws.webcontainer.srt.WebAppInvoker.handleInvocationHook(WebAppInvoker.java(Compiled
 Code))
        at
com.ibm.ws.webcontainer.cache.invocation.CachedInvocation.handleInvocation(CachedInvocation.java(Compiled
 Code))
        at
com.ibm.ws.webcontainer.srp.ServletRequestProcessor.dispatchByURI(ServletRequestProcessor.java(Compiled
 Code))
        at
com.ibm.ws.webcontainer.oselistener.OSEListenerDispatcher.service(OSEListener.java(Compiled
 Code))
        at
com.ibm.ws.webcontainer.http.HttpConnection.handleRequest(HttpConnection.java(Compiled
 Code))
        at
com.ibm.ws.http.HttpConnection.readAndHandleRequest(HttpConnection.java(Compiled
 Code))
        at com.ibm.ws.http.HttpConnection.run(HttpConnection.java(Compiled
Code))
        at com.ibm.ws.util.ThreadPool$Worker.run(ThreadPool.java(Compiled
Code))

thanks in advance!

mit freundlichen Grüßen / kind regards
Manfred Weigel
________________________________
Raiffeisen Zentralbank Österreich AG
ORG/IT - Software Development
A-1030 Vienna, Am Stadtpark 9

web.xml
==============================================
<?xml version="1.0" encoding="ISO-8859-1"?>

<!--+
    | This is the Cocoon web-app configurations file
    +-->

<!DOCTYPE web-app PUBLIC "-//Sun Microsystems, Inc.//DTD Web Application
2.3//EN" "http://java.sun.com/dtd/web-app_2_3.dtd">

<web-app>

  <!-- Servlet Configuration ========================================== -->

  <servlet>
    <servlet-name>Cocoon</servlet-name>
    <display-name>Cocoon</display-name>
    <description>Cocoon</description>

    <!--
      The regular servlet class (trusts the servlet container classloader)
      -->

<!--servlet-class>org.apache.cocoon.servlet.CocoonServlet</servlet-class-->
    <!-- RSFCocoon Servlet used for gzip extension -->
    <servlet-class>at.rsf4j.cocoon.servlet.RSFCocoonServlet</servlet-class>

      <!-- gzip extension -->
      <init-param>
          <!-- responses smaller than this value will not be compressed -->
            <param-name>compression-threshold</param-name>
            <param-value>2048</param-value>
      </init-param>
      <init-param>
          <!-- set this parametr to true to enable zipping -->
            <param-name>compression-enabled</param-name>
            <param-value>true</param-value>
      </init-param>

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


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

    <!--
      This parameter tells cocoon to set the thread's context classloader
to
      its own classloader. If you experience strange classloader issues,
      try setting this parameter to "true" or using ParanoidCocoonServlet.
    -->
    <init-param>
      <param-name>init-classloader</param-name>
      <param-value>false</param-value>
    </init-param>

    <!--
      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>/WEB-INF/cocoon.xconf</param-value>
    </init-param>

    <!--
      This parameter indicates the configuration file of the LogKit
management
    -->
    <init-param>
      <param-name>logkit-config</param-name>

<param-value>rsf://RSFBOOTCONFIGDIR/$(application)/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>access</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>core</param-value>
    </init-param>

    <!--
      This parameter indicates the log level to use throughout startup of
the system.
      As soon as the logkit.xconf the setting of the logkit.xconf
configuration is
      used instead! Only for startup and if the logkit.xconf is not
readable/available
      this log level is of importance.

      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>WARN</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>no</param-value>
    </init-param>

    <!--
      This parameter is used to list classes that should be loaded
      at initialization time of the servlet.
      Usually this classes are JDBC Drivers used
    -->
    <init-param>
      <param-name>load-class</param-name>
      <param-value></param-value>
    </init-param>

    <!--
      Causes all files in multipart requests to be processed.
      Default is false for security reasons.
      Unsupported values will be interpreted as false.
    -->
    <init-param>
      <param-name>enable-uploads</param-name>
      <param-value>true</param-value>
    </init-param>

    <!--
      This parameter allows to specify where Cocoon should put uploaded
files.
      The path specified can be either absolute or relative to the context
      path of the servlet. On windows platform, absolute directory must
start
      with volume: C:\Path\To\Upload\Directory

      The default directory is "upload-dir" in the work-directory

    <init-param>
      <param-name>upload-directory</param-name>
      <param-value>WEB-INF/work/upload-dir</param-value>
    </init-param>
    -->

    <!--
      Causes all files in multipart requests to be saved to upload-dir.
      Default is true for security reasons.
      Unsupported values will be interpreted as false.
    -->
    <init-param>
      <param-name>autosave-uploads</param-name>
      <param-value>false</param-value>
    </init-param>

    <!--
      Specify handling of name conflicts when saving uploaded files
      to disk.  Acceptable values are deny, allow, rename (default).
      Files are renamed x_filename where x is an integer value incremented
      to make the new filename unique.
    -->
    <init-param>
      <param-name>overwrite-uploads</param-name>
      <param-value>rename</param-value>
    </init-param>

    <!--
      Specify maximum allowed size of the upload. Defaults to 10 Mb.
    -->

    <init-param>
      <param-name>upload-max-size</param-name>
      <param-value>10000000</param-value>
    </init-param>

    <!--
      This parameter allows to specify where Cocoon should create its page
      and other objects cache. The path specified can be either absolute or
      relative to the context path of the servlet. On windows platform,
      absolute directory must start with volume: C:\Path\To\Cache\Directory

      The default directory is "cache-dir" in the work-directory

    <init-param>
      <param-name>cache-directory</param-name>
      <param-value>WEB-INF/work/cache-dir</param-value>
    </init-param>
    -->

    <!--
      This parameter allows to specify where Cocoon should put it's
      working files. The path specified is either absolute or relative
      to the context path of the Cocoon servlet.  On windows platform,
      absolute directory must start with volume: C:\Path\To\Work\Directory

      The default directory is "cocoon-files" directory in the servlet
      context's temp directory (context property
javax.servlet.context.tempdir).

    <init-param>
      <param-name>work-directory</param-name>
      <param-value>WEB-INF/work</param-value>
    </init-param>
    -->

    <!--
      This parameter allows to specify additional directories or jars
      which Cocoon should put into it's own classpath.
      Note that you must separate them using the platforms path.separator
      (":" for *nix and ";" for Windows systems). Also note that absolute
      pathes are take as such but relative pathes are rooted at the context
      root of the Cocoon servlet.

    <init-param>
      <param-name>extra-classpath</param-name>

<param-value>WEB-INF/extra-classes1:/[YOU-ABSOLUTE-PATH-TO]/own.jar</param-value>
    </init-param>
    -->

    <!--
      This parameter allows you to select the parent component manager.
      The class will be instantiated via the constructor that takes a
single
      String as a parameter. That String will be equal to the text after
the
      '/'.

      Cocoon honors the LogEnabled and Initializable interfaces for this
class,
      if it implements them.

      If you uncomment the following lines the parent CM is set to the
Parent CM sample, which will look up
      a configuration via JNDI at
org/apache/cocoon/samples/parentcm/ParentCMConfiguration
      and use it.
    <init-param>
      <param-name>parent-component-manager</param-name>

<param-value>org.apache.cocoon.samples.parentcm.ParentComponentManager/org/apache/cocoon/samples/parentcm/ParentCMConfiguration</param-value>
    </init-param>
    -->

    <!--
      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>hide</param-value>
    </init-param>
    -->

    <!--
       If true or not set, this class will try to catch and handle all
Cocoon exceptions.
       If false, it will rethrow them to the servlet container.
    -->
    <init-param>
      <param-name>manage-exceptions</param-name>
      <param-value>true</param-value>
    </init-param>

    <!--
       If true, Avalon Excalibur instrumentation will be enabled on all
Instrumentable
       components with Cocoon and your Cocoon application.

    <init-param>
      <param-name>enable-instrumentation</param-name>
      <param-value>true</param-value>
    </init-param>
    -->

    <!--
       This defines the location of the instrument manager configuration,
only used
       if the init-param enable-instrumentation is enabled.

    <init-param>
      <param-name>instrumentation-config</param-name>
      <param-value>/WEB-INF/instrumentation.xconf</param-value>
    </init-param>
    -->

    <!--
      Set encoding used by the container. If not set the ISO-8859-1
encoding will be assumed.
    -->
    <init-param>
      <param-name>container-encoding</param-name>
      <param-value>utf-8</param-value>
    </init-param>

    <!--
      Set form encoding. This will be the character set used to decode
request parameters.
      If not set the ISO-8859-1 encoding will be assumed.
    -->
    <!--init-param>
      <param-name>form-encoding</param-name>
      <param-value>utf-8</param-value>
    </init-param-->

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

  <servlet>
      <servlet-name>RSFServlet</servlet-name>
      <display-name>RSFServlet</display-name>
      <servlet-class>at.rsf4j.cocoon.servlet.RSFServlet</servlet-class>
      <init-param>
            <param-name>RSFBOOTCONFIGFILE</param-name>

<param-value>rsf://RSFBOOTCONFIGDIR/BCO/rsfbootconfig.xml</param-value>
      </init-param>
      <load-on-startup>1</load-on-startup>
  </servlet>

  <!-- URL space mappings ============================================= -->

  <!--
    Cocoon handles all the URL space assigned to the webapp using its
sitemap.
    It is recommended to leave it unchanged. Under some circumstances
though
    (like integration with proprietary webapps or servlets) you might have
    to change this parameter.
  -->
  <servlet-mapping>
    <servlet-name>Cocoon</servlet-name>
    <url-pattern>/</url-pattern>
  </servlet-mapping>

  <!--
    Some servlet engines (Tomcat) have defaults which are not overriden
    by '/' mapping, but must be overriden explicitly.
  -->
  <servlet-mapping>
    <servlet-name>Cocoon</servlet-name>
    <url-pattern>*.jsp</url-pattern>

  </servlet-mapping>
  <!--
    Some servlet engines (WebLogic) have defaults which are not overriden
    by '/' mapping, but must be overriden explicitly.
  -->
  <servlet-mapping>
    <servlet-name>Cocoon</servlet-name>
    <url-pattern>*.html</url-pattern>
  </servlet-mapping>

  <!-- various MIME type mappings
====================================== -->

  <mime-mapping>
    <extension>css</extension>
    <mime-type>text/css</mime-type>
  </mime-mapping>

  <mime-mapping>
    <extension>xml</extension>
    <mime-type>text/xml</mime-type>
  </mime-mapping>

  <mime-mapping>
    <extension>xsl</extension>
    <mime-type>text/xml</mime-type>
  </mime-mapping>

  <mime-mapping>
    <extension>xconf</extension>
    <mime-type>text/xml</mime-type>
  </mime-mapping>

  <mime-mapping>
    <extension>xmap</extension>
    <mime-type>text/xml</mime-type>
  </mime-mapping>

  <mime-mapping>
    <extension>ent</extension>
    <mime-type>text/plain</mime-type>
  </mime-mapping>

  <mime-mapping>
    <extension>grm</extension>
    <mime-type>text/plain</mime-type>
  </mime-mapping>
  <login-config>
      <auth-method>FORM</auth-method>
  </login-config>

</web-app>


This message and any attachment ("the Message") are confidential. If you
have received the Message in error, please notify the sender immediately
and delete the Message from your system , any use of the Message is
forbidden.
Correspondence via e-mail is primarily for information purposes. RZB
neither makes nor accepts legally binding statements unless otherwise
agreed to the contrary.



Mime
View raw message