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>