You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@tomcat.apache.org by Terry Orechia <To...@comcast.net> on 2003/11/26 16:33:17 UTC

Connection not timing out

When the client issues a request on Explorer to the tomcat servlet and the request takes longer than the connectionTimeout, the client hangs.   I am no longer able to make any html requests to my  tomcat appliction or the tomcat manager/html application and must restart tomcat.   I am running java web services development pack 1.3 (tomcat version 5) on Linux Red Hat.    If I increase the connectionTimeout value, the problem is less likely to happen, but still occurs when there is a heavy load on the system.      I have put logging statements in my servlet and can see that the servlet request does actually complete after the time limit has expired.  However, the client does not free up.   I can stop the request on Internet Explorer, but any tomcat requests after this initial hang will also hang.    How can I get Internet Explorer to issue a timeout?  Also, how does the disableUploadTimeout parameter work in relation to connectionTimeout?
My server.xml is listed below.
Thanks,
Terry


Server.xml File:

<?xml version="1.0"?>
<Server port="8005" shutdown="SHUTDOWN" debug="0">
  <!-- Enable JMX MBeans Support -->
  <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"/>

    <Environment name="jwsdp.home"
       description="Absolute Pathname of the JWSDP Installation"
              type="java.lang.String"
             value="/usr/local/jwsdp-1.3"/>

    <!-- 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>

    <!-- Users and Groups Database -->

  </GlobalNamingResources>

  <Service name="Java Web Services Developer Pack">

    <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8080 -->
    <Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
               port="8080" minProcessors="5" maxProcessors="100"
               enableLookups="true" redirectPort="8443" acceptCount="100"
               debug="1" connectionTimeout="90000" 
               disableUploadTimeout="true" xpoweredBy="true"/>

    <!--
         By default, an SSL HTTP/1.1 Connector is not enabled. You can
         enable an SSL HTTP/1.1 Connector on port 8443 by following the
         steps below and uncommenting the Connector that follows these
         steps. SSL support requires the following steps (see the SSL Config
         HOWTO in the Tomcat 4.0 documentation bundle for more detailed
         instructions):

         * Execute the following command:
             %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.
    -->
    <!-- Define a SSL Coyote HTTP/1.1 Connector on port 8443 -->
    <!--
    <Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
               port="8443" minProcessors="5" maxProcessors="75"
               enableLookups="true" disableUploadTimeout="true"
        acceptCount="100" debug="0" scheme="https" secure="true">
      <Factory className="org.apache.coyote.tomcat5.CoyoteServerSocketFactory"
               clientAuth="false" protocol="TLS" />
    </Connector>
    -->

    <!-- Define the top level container in our container hierarchy -->
    <Engine name="Catalina" defaultHost="localhost" debug="1">

      <!-- Pack-Wide Access Logger -->
      <Valve   className="org.apache.catalina.valves.AccessLogValve"
               directory="logs" prefix="access_log." suffix=".txt"
               resolveHosts="false"/>

      <!-- Pack-Wide Message Logger -->
      <Logger  className="org.apache.catalina.logger.FileLogger"
               directory="logs" timestamp="true"
               prefix="jwsdp_log." suffix=".txt"/>

      <!-- Pack-Wide Realm -->
      <Realm   className="org.apache.catalina.realm.UserDatabaseRealm"
            resourceName="UserDatabase"
                   debug="0"/>

      <!-- Define the default virtual host -->
      <Host name="localhost" debug="0" appBase="webapps"
       unpackWARs="false" autoDeploy="true">

        <Valve className="org.apache.catalina.authenticator.SingleSignOn"
                   debug="1"/>`

      </Host>

    </Engine>

  </Service>

  <!--
  <Service name="InternalServices">
  -->

    <!-- Define a non-SSL Coyote HTTP/1.1 Connector on port 8081 -->
    <!--
    <Connector className="org.apache.coyote.tomcat5.CoyoteConnector"
               port="8081" minProcessors="5" maxProcessors="100"
               enableLookups="true" redirectPort="8443" acceptCount="100"
               debug="0" connectionTimeout="20000" 
               disableUploadTimeout="true" />
    -->

    <!-- Define the top level container in our container hierarchy -->
    <!--
    <Engine name="ServicesEngine" defaultHost="jwsdp-services" debug="0">
    -->

      <!-- Pack-Wide Message Logger -->
    <!--
      <Logger  className="org.apache.catalina.logger.FileLogger"
               directory="logs" timestamp="true"
               prefix="services_log." suffix=".txt"/>
    -->
      <!-- Pack-Wide Realm -->
    <!--
      <Realm   className="org.apache.catalina.realm.UserDatabaseRealm"
            resourceName="UserDatabase"
                   debug="0"/>

    -->
      <!-- Define the default virtual host -->
    <!--
      <Host name="jwsdp-services" debug="0" appBase="jaxm-1.1.1/services"
       unpackWARs="false" autoDeploy="true">
      </Host>
    </Engine>
  </Service>
    -->
</Server>