Hi, Our application is a online vehicle rental.We are Apache2.2 as a front end server & Tomcat 6.0.18 as back-end server with mod_jk2.28 tomcat connector.
The followings are our system configurations, 1)Operating System - Windows server2008 2)Processor - Intel Xenon 3)RAM -4 GB I've been doing the load testing our application for couple of months.From this,I observed our application is not supporting for more than 20 concurrent users.If I put a load for 20 users after a period of time some pages are not loading.Only i'm seeing the empty window. I'm not getting anything in tomcat log. In apache mod_jk.log I'm getting the following error.... [Tue Apr 06 18:12:08 2010][1624:3032] [info] jk_ajp_common.c (1788): Writing to client aborted or client network problems [Tue Apr 06 18:12:08 2010][1624:3032] [info] jk_ajp_common.c (2447): (worker1) sending request to tomcat failed (unrecoverable), because of client write error (attempt=1) [Tue Apr 06 18:12:08 2010]worker1 empower.mybiz24by7.com 4.547560 [Tue Apr 06 18:12:08 2010][1624:3032] [info] mod_jk.c (2608): Aborting connection for worker=worker1 I'm also giving the latest configuration files that i have.... Tomcat Configuration files: server.xml: <Server port="8006" shutdown="SHUTDOWN"> <Listener className="org.apache.catalina.core.AprLifecycleListener" SSLEngine="on" /> <Listener className="org.apache.catalina.core.JasperListener" /> <Listener className="org.apache.catalina.mbeans.ServerLifecycleListener" /> <Listener className="org.apache.catalina.mbeans.GlobalResourcesLifecycleListener" /> <GlobalNamingResources> <Resource name="UserDatabase" auth="Container" type="org.apache.catalina.UserDatabase" description="User database that can be updated and saved" factory="org.apache.catalina.users.MemoryUserDatabaseFactory" pathname="conf/tomcat-users.xml" /> </GlobalNamingResources> <Service name="Catalina"> <Connector port="8009" protocol="AJP/1.3" debug="0" enableLookups="false" emptySessionPath="true" redirectPort="8443" maxThreads="512" minSpareThreads="50" maxSpareThreads="150" backlog="50" connectionTimeout="60000" /> <Engine name="Catalina" defaultHost="****************"> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" resourceName="UserDatabase"/> <Host name="empower.mybiz24by7.com" appBase="gateway" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Listener className = "org.apache.jk.config.ApacheConfig" workersConfig="C:/Apache/conf/workers.properties" modJk="C:/Apache/modules/mod_jk.so" jkLog="logs/mod_jk.log" jkDebug="info" noRoot="false"/> </Host> <Host name="account.mybiz24by7.com" appBase="mybizadmin" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Listener className = "org.apache.jk.config.ApacheConfig" workersConfig="C:/Apache/conf/workers.properties" modJk="C:/Apache/modules/mod_jk.so" jkLog="logs/mod_jk.log" jkDebug="info" noRoot="false"/> </Host> <Host name="support.mybiz24by7.com" appBase="mybizsupport" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Listener className = "org.apache.jk.config.ApacheConfig" workersConfig="C:/Apache/conf/workers.properties" modJk="C:/Apache/modules/mod_jk.so" jkLog="logs/mod_jk.log" jkDebug="info" noRoot="false"/> </Host> <Host name="crm.mybiz24by7.com" appBase="mybizcrm" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Listener className = "org.apache.jk.config.ApacheConfig" workersConfig="C:/Apache/conf/workers.properties" modJk="C:/Apache/modules/mod_jk.so" jkLog="logs/mod_jk.log" jkDebug="info" noRoot="false"/> </Host> <Host name="www.renta4wheeler.com" appBase="renta4wheeler" unpackWARs="true" autoDeploy="true" xmlValidation="false" xmlNamespaceAware="false"> <Listener className = "org.apache.jk.config.ApacheConfig" workersConfig="C:/Apache/conf/workers.properties" modJk="C:/Apache/modules/mod_jk.so" jkLog="logs/mod_jk.log" jkDebug="info" noRoot="false"/> </Host> <Listener className = "org.apache.jk.config.ApacheConfig" workersConfig="C:/Apache/conf/workers.properties" modJk="C:/Apache/modules/mod_jk.so" jkLog="logs/mod_jk.log" jkDebug="info" noRoot="false"/> </Engine> </Service> <Listener className = "org.apache.jk.config.ApacheConfig" workersConfig="C:/Apache/conf/workers.properties" modJk="C:/Apache/modules/mod_jk.so" jkLog="logs/mod_jk.log" jkDebug="info" noRoot="false"/> </Server> I'm not very good with this configuring tomcat server.xml.so i'll great full to receive nice suggestion from you. context.xml: <Context> <WatchedResource>WEB-INF/web.xml</WatchedResource> <Resource name="jdbc/vehrentDB" auth="Container" type="javax.sql.DataSource" maxActive="50" maxIdle="30" minIdle="10" username="******" password="******" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://***********:1433; databaseName=*****;user=******;password=*******;" numTestsPerEvictionRun="15" timeBetweenEvictionRunsMillis="900000" minEvictableIdleTimeMillis="900000" testWhileIdle="true" testOnBorrow="false" removeAbandoned="true" removeAbandonedTimeout="300" logAbandoned="true" /> <Resource name="jdbc/empowerDB" auth="Container" type="javax.sql.DataSource" maxActive="50" maxIdle="30" minIdle="10" username="******" password="*****" driverClassName="com.microsoft.sqlserver.jdbc.SQLServerDriver" url="jdbc:sqlserver://*******:1433;databaseName=*****;user=*****;password=*******;" numTestsPerEvictionRun="15" timeBetweenEvictionRunsMillis="900000" minEvictableIdleTimeMillis="900000" testWhileIdle="true" testOnBorrow="false" removeAbandoned="true" removeAbandonedTimeout="300" logAbandoned="true" /> </Context> Here I'm using the second database empowerDB especially for login purpose only & rest of the processes are accessing VehrentDB(first one). Apache2.2 Configuration files: httpd.conf: ServerRoot "C:/Apache" Listen *:80 LoadModule actions_module modules/mod_actions.so LoadModule alias_module modules/mod_alias.so LoadModule asis_module modules/mod_asis.so LoadModule auth_basic_module modules/mod_auth_basic.so LoadModule authn_default_module modules/mod_authn_default.so LoadModule authn_file_module modules/mod_authn_file.so LoadModule authz_default_module modules/mod_authz_default.so LoadModule authz_groupfile_module modules/mod_authz_groupfile.so LoadModule authz_host_module modules/mod_authz_host.so LoadModule authz_user_module modules/mod_authz_user.so LoadModule autoindex_module modules/mod_autoindex.so LoadModule cgi_module modules/mod_cgi.so LoadModule dir_module modules/mod_dir.so LoadModule env_module modules/mod_env.so LoadModule include_module modules/mod_include.so LoadModule isapi_module modules/mod_isapi.so LoadModule log_config_module modules/mod_log_config.so LoadModule mime_module modules/mod_mime.so LoadModule negotiation_module modules/mod_negotiation.so LoadModule setenvif_module modules/mod_setenvif.so LoadModule ssl_module modules/mod_ssl.so LoadModule jk_module "C:/Apache/modules/mod_jk.so" JkLogFile C:/Apache/conf/from_apache_mod_jk.log JkLogLevel emerg JkWorkersFile C:/Apache/conf/workers.properties JkLogLevel info JkLogStampFormat "[%a %b %d %H:%M:%S %Y]" JkRequestLogFormat "%w %V %T" JkMount /empower ajp13 JkMount /vehrent ajp13 JkMount /empower/* ajp13 JkMount /vehrent/* ajp13 <IfModule !mpm_netware_module> <IfModule !mpm_winnt_module> User daemon Group daemon </IfModule> </IfModule> ServerAdmin r...@imbartworks.com ServerName ************:80 DocumentRoot "C:/Apache/htdocs" <Directory /> Options FollowSymLinks AllowOverride None Order deny,allow Deny from all </Directory> <Directory "C:/Apache/htdocs"> Options Indexes FollowSymLinks AllowOverride None Order allow,deny Allow from all </Directory> <IfModule dir_module> DirectoryIndex index.html </IfModule> <FilesMatch "^\.ht"> Order allow,deny Deny from all Satisfy All </FilesMatch> ErrorLog "logs/error.log" LogLevel warn <IfModule log_config_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\"" combined LogFormat "%h %l %u %t \"%r\" %>s %b" common <IfModule logio_module> LogFormat "%h %l %u %t \"%r\" %>s %b \"%{Referer}i\" \"%{User-Agent}i\" %I %O" combinedio </IfModule> CustomLog "logs/access.log" common </IfModule> <IfModule alias_module> ScriptAlias /cgi-bin/ "C:/Apache/cgi-bin/" </IfModule> <IfModule cgid_module> </IfModule> <Directory "C:/Apache/cgi-bin"> AllowOverride None Options None Order allow,deny Allow from all </Directory> DefaultType text/plain <IfModule mime_module> TypesConfig conf/mime.types AddType application/x-compress .Z AddType application/x-gzip .gz .tgz </IfModule> Include conf/extra/httpd-vhosts.conf Include conf/extra/httpd-ssl.conf workers.properties: workers.tomcat_home=C:/Tomcat workers.java_home=C:/java/jdk1.6.0_16 ps=/ worker.list=worker1 worker.list=worker2 worker.list=supportWorker worker.list=crmWorker worker.list=renta4wheelerWorker worker.worker1.list=ajp13 worker.worker1.ajp13.port=8009 worker.worker1.ajp13.host=empower.mybiz24by7.com worker.worker1.ajp13.type=ajp13 worker.worker1.ajp13.ping_timeout=1000 worker.worker1.ajp13.connection_pool_timeout=60 worker.worker1.ajp13.connection_pool_size=90 worker.worker1.ajp13.recovery_options=0 worker.worker1.ajp13.connect_timeout=10000 worker.worker1.ajp13.prepost_timeout=10000 worker.worker1.ajp13.reply_timeout=40000 worker.worker1.ajp13.retries=20 worker.worker1.ajp13.socket_timeout=10 worker.worker1.ajp13.lbfactor=5 worker.worker2.list=ajp13 worker.worker2.ajp13.port=8009 worker.worker2.ajp13.host=account.mybiz24by7.com worker.worker2.ajp13.type=ajp13 worker.worker2.ajp13.lbfactor=1 worker.supportWorker.list=ajp13 worker.supportWorker.ajp13.port=8009 worker.supportWorker.ajp13.host=support.mybiz24by7.com worker.supportWorker.ajp13.type=ajp13 worker.supportWorker.ajp13.lbfactor=1 worker.crmWorker.list=ajp13 worker.crmWorker.ajp13.port=8009 worker.crmWorker.ajp13.host=crm.mybiz24by7.com worker.crmWorker.ajp13.type=ajp13 worker.crmWorker.ajp13.lbfactor=1 worker.renta4wheelerWorker.list=ajp13 worker.renta4wheelerWorker.ajp13.port=8009 worker.renta4wheelerWorker.ajp13.host=www.renta4wheeler.com worker.renta4wheelerWorker.ajp13.type=ajp13 worker.renta4wheelerWorker.ajp13.lbfactor=1 worker.loadbalancer.type=lb worker.loadbalancer.sticky_session=1 worker.loadbalancer.balance_workers= worker1 worker.inprocess.type=jni httpd-vhosts.conf : NameVirtualHost *:80 <VirtualHost *:80> ServerAdmin r...@imbartworks.com DocumentRoot "C:/Apache/htdocs/corp" ServerName XXXXXXX.com ServerAlias www.XXXXXXX.com ErrorLog "logs/corp-error.log" CustomLog "logs/corp-access.log" common </VirtualHost> <VirtualHost *:80> ServerAdmin r...@imbartworks.com DocumentRoot "C:/Apache/htdocs/imababa" ServerName XXXXXXX.com ServerAlias www.XXXXXXX.com ErrorLog "logs/imababa-error.log" CustomLog "logs/imababa-access.log" common </VirtualHost> <VirtualHost *:80> ServerAdmin r...@imbartworks.com DocumentRoot "C:/Apache/htdocs/ImababaDreams" ServerName XXXXXXX.com ServerAlias www.XXXXXXX.com ErrorLog "logs/imababa-error.log" CustomLog "logs/imababa-access.log" common </VirtualHost> <VirtualHost *:80> ServerAdmin r...@imbartworks.com DocumentRoot "C:/Apache/htdocs/vehrent" ServerName XXXXXXX.com ServerAlias www.XXXXXXX.com ErrorLog "logs/vehrent.log" CustomLog "logs/vehrent.log" common </VirtualHost> <VirtualHost *:80> ServerAdmin r...@imbartworks.com DocumentRoot "C:/Apache/htdocs/gateway" ServerName empower.XXXXXXX.com ServerAlias empower.XXXXXXX.com ErrorLog "logs/gateway-error.log" CustomLog "logs/gateway-access.log" common JkMount /* worker1 JkUnMount /*js/*.js worker1 JkUnMount /*.jpeg worker1 JkUnMount /*.png worker1 JkUnMount /*.gif worker1 JkUnMount /*.html worker1 JkUnMount /*.jpg worker1 JkUnMount /*.css worker1 </VirtualHost> <VirtualHost *:80> ServerAdmin r...@imbartworks.com DocumentRoot "C:/Apache/htdocs/account" ServerName account.XXXXXXX.com ServerAlias account.XXXXXXX.com ErrorLog "logs/account-error.log" CustomLog "logs/account-access.log" common JkMount /* worker2 JkUnMount /*js/*.js worker2 JkUnMount /*.jpeg worker2 JkUnMount /*.png worker2 JkUnMount /*.gif worker2 JkUnMount /*.html worker2 JkUnMount /*.jpg worker2 JkUnMount /*.css worker2 </VirtualHost> <VirtualHost *:80> ServerAdmin r...@imbartworks.com DocumentRoot "C:/Apache/htdocs/support" ServerName support.XXXXXXX.com ServerAlias support.XXXXXXX.com ErrorLog "logs/support-error.log" CustomLog "logs/support-access.log" common JkMount /* supportWorker JkUnMount /*js/*.js supportWorker JkUnMount /*.jpeg supportWorker JkUnMount /*.png supportWorker JkUnMount /*.gif supportWorker JkUnMount /*.html supportWorker JkUnMount /*.jpg supportWorker JkUnMount /*.css supportWorker </VirtualHost> <VirtualHost *:80> ServerAdmin r...@imbartworks.com DocumentRoot "C:/Apache/htdocs/crm" ServerName crm.XXXXXXX.com ServerAlias crm.XXXXXXX.com ErrorLog "logs/crm.log" CustomLog "logs/crm.log" common JkMount /* crmWorker JkUnMount /*js/*.js crmWorker JkUnMount /*.jpeg crmWorker JkUnMount /*.png crmWorker JkUnMount /*.gif crmWorker JkUnMount /*.html crmWorker JkUnMount /*.jpg crmWorker JkUnMount /*.css crmWorker </VirtualHost> <VirtualHost *:80> ServerAdmin r...@imbartworks.com DocumentRoot "C:/Apache/htdocs/renta4wheeler" ServerName www.XXXXXXX.com ServerAlias www.XXXXXXX.com ErrorLog "logs/renta4wheeler.log" CustomLog "logs/renta4wheeler.log" common JkMount /* renta4wheelerWorker JkUnMount /*js/*.js renta4wheelerWorker JkUnMount /*.jpeg renta4wheelerWorker JkUnMount /*.png renta4wheelerWorker JkUnMount /*.gif renta4wheelerWorker JkUnMount /*.html renta4wheelerWorker JkUnMount /*.jpg renta4wheelerWorker JkUnMount /*.css renta4wheelerWorker </VirtualHost> httpd-ssl.conf : Listen 443 AddType application/x-x509-ca-cert .crt AddType application/x-pkcs7-crl .crl SSLPassPhraseDialog builtin SSLSessionCache "shmcb:C:/Apache/logs/ssl_scache(512000)" SSLSessionCacheTimeout 300 SSLMutex default <VirtualHost _default_:443> DocumentRoot "C:/Apache/htdocs/gateway" ServerName empower.XXXXXX.com ServerAdmin r...@imbartworks.com ErrorLog "C:/Apache/logs/sss-error.log" SSLEngine on SSLCipherSuite ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP:+eNULL SSLCertificateFile C:/Apache/conf/empower.XXXXXXXX.com.crt SSLCertificateKeyFile C:/Apache/conf/empower.XXXXXX.com.key JkMount /* worker1 JkMount /*dwr/* worker1 JkUnMount /*js/*.js worker1 JkUnMount /*.jpeg worker1 JkUnMount /*.png worker1 JkUnMount /*.gif worker1 JkUnMount /*.html worker1 JkUnMount /*.jpg worker1 JkUnMount /*.css worker1 JkUnMount /*.swf worker1 SSLCertificateChainFile "C:/Apache/conf/empower.XXXXX.com.crt" <FilesMatch "\.(cgi|shtml|phtml|php)$"> SSLOptions +StdEnvVars </FilesMatch> <Directory "C:/Apache/cgi-bin"> SSLOptions +StdEnvVars </Directory> BrowserMatch ".*MSIE.*" \ nokeepalive ssl-unclean-shutdown \ downgrade-1.0 force-response-1.0 CustomLog "C:/Apache/logs/ssl_request.log" \ "%t %h %{SSL_PROTOCOL}x %{SSL_CIPHER}x \"%r\" %b" </VirtualHost> These are the files i'm using in Apache & Tomcat servers for the configuration.I'm giving the JVM parameter's as follows, 1)Initial Memory Pool -2560 2)Maximum memory pool-2560 3)Thread size -I don't know what to set exactly. I'm very eagerly waiting for your reply to proceed further. Thanks in advance. Christopher Schultz-2 wrote: > > -----BEGIN PGP SIGNED MESSAGE----- > Hash: SHA1 > > Munirathinavel, > > One post is sufficient: we all got a copy. > > On 2/13/2010 8:48 AM, Munirathinavel wrote: >> I'm using Tomcat 6.0.18 & apache2.2 server & I need to know configure my >> server.xml & context.xml for high performance & heavy traffic. > > It's always best to have the most up-to-date version of your software. > Tomcat 6.0.24 is available: you might want to consider using that in > your testing environment from here on out. > > How do you connect Apache httpd to Tomcat? What purpose does httpd serve? > >> <GlobalNamingResources> >> <Resource name="UserDatabase" auth="Container" >> type="org.apache.catalina.UserDatabase" >> description="User database that can be updated and saved" >> >> factory="org.apache.catalina.users.MemoryUserDatabaseFactory" >> pathname="conf/tomcat-users.xml" /> >> </GlobalNamingResources> > > Do you need this UserDatabase in here? I wouldn't use that in production. > >> <Service name="Catalina"> >> <Connector port="8009" debug="0" enableLookups="false" >> protocol="AJP/1.3" >> maxThreads="120" minSpareThreads="30" maxSpareThreads="60" >> reloadable="false" connectionTimeout="20000" >> redirectPort="8443"/> > > Here's where things get interesting: > > Does 120 simultaneous connections sound like a reasonable load for your > webapp? What kinds of loads do you /want/ to be able to handle? > > If you need to be able to handle huge amounts of traffic, you might want > to consider removing Apache httpd from your setup. You haven't said what > you use it for: some people use it work static content hosting, which > isn't a good enough reason. Others use it for load balancing, which you > haven't mentioned so I assume you aren't. Some folks, like me, use it to > direct traffic to more than one instance of Tomcat when a hardware > load-balancer isn't available. If you aren't doing any of these things, > then get rid of httpd: it's just slowing things down. > > If you have a lot of keepalive requests, consider using the NIO > connector which doesn't tie up request processing threads while waiting > for the 3nd, 3rd, etc. request on the same connection. If you need to > send large static files, definitely consider using the APR connector > with sendFile="true". If you need SSL, also consider using the APR > connector, as the OpenSSL-based SSL implementation is faster than the > one you get with the Java provider. > > Finally, the use of an <Executor> is usually recommended because those > thread pools can dynamically size themselves. The standard <Connector> > thread pools, for whatever reason, will only create new threads... they > won't take them out of service. An <Executor> can keep the thread pool > lean and mean. > > >> <Engine name="Catalina" defaultHost="***********"> >> >> <Realm className="org.apache.catalina.realm.UserDatabaseRealm" >> resourceName="UserDatabase"/> > > Yikes! > >> <Host name="***********" appBase="gateway" >> unpackWARs="true" autoDeploy="true" >> xmlValidation="false" xmlNamespaceAware="false"> >> >> <Listener className = >> "org.apache.jk.config.ApacheConfig" >> workersConfig="conf/workers.properties" >> mod_Jk="D:/Apache2.2/modules/mod_jk.so" jkLog="logs/mod_jk.log" >> jkDebug="info" noRoot="false"/> >> </Host> >> >> <Listener className = "org.apache.jk.config.ApacheConfig" >> workersConfig="conf/workers.properties" >> mod_Jk="D:/Apache2.2/modules/mod_jk.so" jkLog="logs/mod_jk.log" >> jkDebug="info" noRoot="false"/> >> </Engine> >> </Service> >> <Listener className = "org.apache.jk.config.ApacheConfig" >> workersConfig="conf/workers.properties" >> mod_Jk="D:/Apache2.2/modules/mod_jk.so" jkLog="logs/mod_jk.log" >> jkDebug="info" noRoot="false"/> > > You probably don't want to use the ApacheConfig listener: just write > your own mod_jk configuration files. You certainly don't need /three/ of > them. > >> <Resource name="jdbc/vehrentDB" auth="Container" >> type="javax.sql.DataSource" >> maxActive="100" > > Only you can decide what settings are best for your webapp. Here are > some things to think about: > > 1. You have 120 max threads, meaning a maximum of 120 simultaneous > connections to handle. Your database connection pool is configured for > 100 connections. What percentage of your requests do /not/ require > database access? If the answer is lower than about 20%, then you > probably want to make your maxThreads and maxActive closer to each > other. Otherwise, request threads will block waiting for database > connections. > > There are good reasons to limit your database connection pool size: if > your database is not particularly high-performance, then you might want > users to wait. It's just something to think about. > >> <Resource name="jdbc/empowerDB" auth="Container" >> type="javax.sql.DataSource" >> maxActive="100" > > If you have 2 databases, I might think about the ratio of connections > used for each database: if the usage is roughly 50/50, maybe you want > only 60 connections in each database connection pool. Reducing from 100 > to 60 connections to your database might eliminate some overhead that's > not needed. > > Then again, if your pool size is set that high and the ratio really is > 50/50, then you'll end up with an effective pool size of 60 connections, > anyway, since the pool won't create connections it doesn't need. > > You haven't said a word about your application, so it would be helpful > to know what it's supposed to do, in general. > > You also haven't mentioned anything about current load versus ideal or > target load. Nothing about memory requirements, numbers of concurrent > sessions you'd like to support, or average sizes of sessions. > > If you provide some of that information, we may be able to give you > further tips. Everything above is just kind of generic. > > In general, Tomcat is quite fast in it's default configuration. I would > take a wild-ass guess that, for any non-trivial web application, Tomcat > configuration can only account for somewhere around 10% of performance > advantages... and that's mostly with the <Connector> configuration under > heavy loads. It's most likely that, when there is a performance problem, > that your web application is going to be the "problem". > > Good luck, > - -chris > -----BEGIN PGP SIGNATURE----- > Version: GnuPG v1.4.10 (MingW32) > Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ > > iEYEARECAAYFAkt2wF4ACgkQ9CaO5/Lv0PBcrACffFQQwcHtim/diSfALNcvUcQc > ba8An23H17/eD00962524sjKcqdzJTw/ > =emWJ > -----END PGP SIGNATURE----- > > --------------------------------------------------------------------- > To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org > For additional commands, e-mail: users-h...@tomcat.apache.org > > > -- View this message in context: http://old.nabble.com/How-to-configure-tomcat-server.xml....-tp27575197p28164684.html Sent from the Tomcat - User mailing list archive at Nabble.com. --------------------------------------------------------------------- To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org