experience with Windows 7
The following experience may be interesting for installation of Tomcat on Windows 7 (64 Bit): First I installed jdk1.6.0_20 and then apache-tomcat-6.0.29.exe on a Windows XP (32 Bit) system and there were no problems. Then I installed the same combination on a Windows 7 (64 Bit) System, but Tomcat didn’t start, in the log there was the message: javajni.c] [error] %1 is not a valid Win32 application. I made some experiments and copied the Tomcat directory from Windows XP (32 Bit) directly over the Tomcat directory of Windows 7 (64 Bit). Then Tomcat started also on Windows 7. Wolfgang - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: experience with Windows 7
On 07/10/2010 09:29, Wolfgang Orthuber wrote: The following experience may be interesting for installation of Tomcat on Windows 7 (64 Bit): First I installed jdk1.6.0_20 and then apache-tomcat-6.0.29.exe on a Windows XP (32 Bit) system and there were no problems. Then I installed the same combination on a Windows 7 (64 Bit) System, but Tomcat didn’t start, in the log there was the message: javajni.c] [error] %1 is not a valid Win32 application. I made some experiments and copied the Tomcat directory from Windows XP (32 Bit) directly over the Tomcat directory of Windows 7 (64 Bit). Then Tomcat started also on Windows 7. As is clearly stated in the Windows installer: if you install from the .exe on a 64-bit OS then you need to use a 64-bit JVM. Allowing 32-bit JVMs to work with the Windows installer is on the to-do list. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Error 404 when redirected
Hello, I am currently installing and configuring a webserver with the couple httpd/tomcat. This server hosts many tomcat applications, each one with its own hostname. My current Tomcat configuration is something like that : Host name=appli1.domain.fr appBase=/var/www/appli1 unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false Context path= docBase=/var/www/appli1 crossContext=false ... Host name=appli2.domain.fr appBase=/var/www/appli2 unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false Context path= docBase=/var/www/appli2 crossContext=false ... The httpd VHost configuration is: VirtualHost *:80 ServerName appli1.domain.fr ProxyPass / ajp://appli1.domain.fr:8009/ retry=1 ... VirtualHost *:80 ServerName appli2.domain.fr ProxyPass / ajp://appli2.domain.fr:8009/ retry=1 ... It's working for every applications except the appli2. The appli2 interprets the index.jsp which redirects to http://appli2.domain.fr/stylesheets/welcome.faces. At this point I have a 404 error : /The requested resource (/stylesheets/cas.faces) is not available./ How could it interprets the index.jsp but then cannot find the /stylesheets/welcome.faces ? Does it come from my configuration or may it come from the application ? I have tried a different Tomcat configuration : Host name=localhost appBase=webapps unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false Context path= docBase=/var/www/appli2 crossContext=false ... Then the apache2 vhost : VirtualHost *:80 ServerName appli2.domain.fr ProxyPass / ajp://localhost:8009/ retry=1 ... This one works fine but I would like to understand where does the problem comes from. Regards, arnaud - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Deploy Dynamic Contexts
Hi Tomcat Community, Does anyone know if it is possible to dynamically create contexts on demand. I have a requirement to be able to ship a single application.war file and create multiple contexts from this without manually using the manager application etc. Tomcat is the latest version 6.0.29. Dare I ask if it is possible to extend the manager servlet to achieve this deployment task? Thanks in advance Rob
Re: Disable class monitoring for reloading container classes
Jane Muse wrote: André - you are correct. We actually modified autoDeploy attribute on the Host element to false, and not reloadable in the application context xml, and then it worked on IBM I V7R1. Your 3rd point below is probably the key to why it works on one version of the O/S and not the other. The version where it does not work is Java 1.5.0, and where it does is Java 1.6.0. I have a question into IBM to see if I can change the Java used by the O/S. I believe that if you phrased the question like that, they may not understand what you mean, as the OS itself probably does not use Java. Do you know how I could change the JVM used by tomcat on a machine? To change the JVM used by Tomcat is easy, but first you need to install a 1.6 JVM on that machine. You should be able to install the JVM 1.6 in addition to the existing 1.5, if you have any concern about the possibility of breaking other applications. For the exact way to do that, you will need help from an OS specialist for that machine. Once you have installed this 1.6 JVM, having Tomcat use it instead of the 1.5 JVM is easy. Basically, it consists of setting the environment value JAVA_HOME to point to the new JVM before starting Tomcat. That's all there is to it. That needs to be done somewhere in the scripts which are used at Tomcat start, but I cannot tell you where exactly on that platform. If Java and Tomcat are IBM packages on that platform, then you will probably also need an OS specialist to help you with that. re: your fourth point I test this by changing the system time on the O/S. Right. But my point was : since in reality, on a productive system, this is happening only twice a year, does it matter if those times the application(s) get reloaded ? (In fact, I strongly suspect that it may happen only /at most/ once a year, and then only in very specific circumstances. It is your changing of the system time which triggers the reloading, but it would probably never happen in reality on a production system). I couldn't figure out how to test your last guess because the context element in tomcat's context.xml wouldn't accept the reloadable attribute. That was only a wild unsubstantiated guess. I expect someone else more qualified to shoot down that suggestion, just about... now. Thanks, Welcome. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Error 404 when redirected
arnaud icard wrote: ... It's working for every applications except the appli2. The appli2 interprets the index.jsp which redirects to http://appli2.domain.fr/stylesheets/welcome.faces. At this point I have a 404 error : /The requested resource (/stylesheets/cas.faces) is not available./ How could it interprets the index.jsp but then cannot find the /stylesheets/welcome.faces ? Does it come from my configuration or may it come from the application ? Hi. I have no idea if this may be the cause of the problem, but I notice a discrepancy between what you are writing, and the error message. It is not complaining about the welcome.faces, but about not finding the cas.faces. May it be that there is a link in welcome.faces which should point to cas.faces, but is incorrect ? - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Error 404 when redirected
From: arnaud icard [mailto:arnaud.ic...@univ-avignon.fr] Subject: Error 404 when redirected I am currently installing and configuring a webserver with the couple httpd/tomcat. Exact versions? My current Tomcat configuration is something like that : Host name=appli1.domain.fr appBase=/var/www/appli1 unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false Context path= docBase=/var/www/appli1 crossContext=false The above is seriously broken. First, it is absolutely illegal to have the appBase the same as docBase. Second, you should not be placing Context elements in server.xml. Third, each Host should have a unique appBase directory. Fourth, the default webapp for a given appBase must be named ROOT (case sensitive). Remove the Context elements from server.xml, and restructure your file layout to look like this: / var/ www/ appli1/ ROOT/ META-INF/ context.xml WEB-INF/ classes/ lib/ other appli1 directories and files appli2/ ROOT/ META-INF/ context.xml WEB-INF/ classes/ lib/ other appli2 directories and files The context.xml file in each ROOT's META-INF directory can actually be omitted for the two webapps you showed, since it would contain no useful information (the path and docBase attributes must not be used here). Only if you had some non-default attribute to specify would you create a Context element inside it. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Error 404 when redirected
Hi André, this difference is due to a slight modification I made. The error is the same with the original code. André Warnier a écrit le 07/10/2010 12:33: arnaud icard wrote: ... It's working for every applications except the appli2. The appli2 interprets the index.jsp which redirects to http://appli2.domain.fr/stylesheets/welcome.faces. At this point I have a 404 error : /The requested resource (/stylesheets/cas.faces) is not available./ How could it interprets the index.jsp but then cannot find the /stylesheets/welcome.faces ? Does it come from my configuration or may it come from the application ? Hi. I have no idea if this may be the cause of the problem, but I notice a discrepancy between what you are writing, and the error message. It is not complaining about the welcome.faces, but about not finding the cas.faces. May it be that there is a link in welcome.faces which should point to cas.faces, but is incorrect ? - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Deploy Dynamic Contexts
From: Rob Gregory [mailto:rob.greg...@ibsolutions.com] Subject: Deploy Dynamic Contexts I have a requirement to be able to ship a single application.war file and create multiple contexts from this without manually using the manager application So use the manager app automatically. Whatever you choose as the trigger for deployment can call the non-GUI version of the manager app, or use any other mechanism to copy and rename the .war file of interest. No servlets need to be extended. http://tomcat.apache.org/tomcat-6.0-doc/deployer-howto.html http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Error 404 when redirected
Caldarale, Charles R a écrit le 07/10/2010 13:50: I am currently installing and configuring a webserver with the couple httpd/tomcat. Exact versions? httpd : Apache/2.2.9 (Debian) tomcat : Apache Tomcat/6.0.29 My current Tomcat configuration is something like that : Host name=appli1.domain.fr appBase=/var/www/appli1 unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false Context path= docBase=/var/www/appli1 crossContext=false The above is seriously broken. First, it is absolutely illegal to have the appBase the same as docBase. Indead. This page helped me to understand why : http://www.lisnichenko.com/articles/tomcat-appbase-and-docbase.html Second, you should not be placingContext elements in server.xml. This is not completly true : http://tomcat.apache.org/tomcat-6.0-doc/config/context.html I quote the webpage : *Context* elements may be explicitly defined: * ... * Inside a Host element in the main conf/server.xml. This is what I did there. But I guess this is the complete opposite to what is written just above on the same webpage. Third, eachHost should have a unique appBase directory. This is already the case, isn't it? Fourth, the default webapp for a given appBase must be named ROOT (case sensitive) I had to made an exception for an application (uPortal) which is deployed in an uPortal/ folder But I corrected this for the others. Remove theContext elements from server.xml, and restructure your file layout to look like this: Most of these applications are deployed using /ant deploy/. Thus I cannot place context file in the application/ROOT/META-INF (well I could but it would mean that I had to copy the context file each time I launch /ant deploy/) So I now have the following server.xml : Host name=appli1.domain.fr appBase=/var/www/appli1 unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false Context path= docBase=ROOT crossContext=false ... Host name=appli2.domain.fr appBase=/var/www/appli2 unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false Context path= docBase=ROOT crossContext=false ... Host name=uportal.domain.fr appBase=/var/www/uportal unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false Context path= docBase=uportal crossContext=false ... Context path=/ResourceServingWebapp docBase=ResourceServingWebapp crossContext=false ... The file layout for uportal is (yes 2 times uportal): /var/www/uportal/ uportal/ ResourceServingWebapp/ Everything works fine... but I don't get why I had to specify ROOT in the docBase argument. Is it not the value by default ? Regards, arnaud / var/ www/ appli1/ ROOT/ META-INF/ context.xml WEB-INF/ classes/ lib/ other appli1 directories and files appli2/ ROOT/ META-INF/ context.xml WEB-INF/ classes/ lib/ other appli2 directories and files The context.xml file in each ROOT's META-INF directory can actually be omitted for the two webapps you showed, since it would contain no useful information (the path and docBase attributes must not be used here). Only if you had some non-default attribute to specify would you create aContext element inside it. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Error 404 when redirected
From: arnaud icard [mailto:arnaud.ic...@univ-avignon.fr] Subject: Re: Error 404 when redirected Second, you should not be placing Context elements in server.xml. This is not completly true Note that I said should not rather than must not. You can place Context elements in server.xml, but it is not best practice, and is strongly discouraged. Don't do it. Third, each Host should have a unique appBase directory. This is already the case, isn't it? Not really, since docBase == appBase in your original config. Your original configuration was ambiguous. Most of these applications are deployed using ant deploy. Not relevant. Thus I cannot place context file in the application/ROOT/META-INF Of course you can. However, as I stated earlier, you don't actually need any Context elements in the examples you gave. So I now have the following server.xml : Context path= docBase=ROOT crossContext=false Just remove the Context elements like the above - they're unnecessary. Context path= docBase=uportal crossContext=false Remove that one as well, and change the uportal directory name to ROOT. Context path=/ResourceServingWebapp docBase=ResourceServingWebapp crossContext=false That Context element is also not necessary - remove it. The file layout for uportal is (yes 2 times uportal): /var/www/uportal/ uportal/ Change the above to ROOT/. ResourceServingWebapp/ That one is fine. I don't get why I had to specify ROOT in the docBase argument. You shouldn't have a docBase argument, because you don't need any Context elements at all. Is it not the value by default ? No; there is no default for docBase, since it should be used only when a Context element is in conf/Catalina/[host]/[appName].xml, and the associated webapp is located outside of the Host's appBase directory. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Deploy Dynamic Contexts
Thanks Chuck, After thinking about it some more I realise the servlet approach is the wrong time to tackle this issue. I will copy the contexts at installation time as we use installshield/install anywhere deployment and this makes much more sense. Regards, Rob I have a requirement to be able to ship a single application.war file and create multiple contexts from this without manually using the manager application So use the manager app automatically. Whatever you choose as the trigger for deployment can call the non-GUI version of the manager app, or use any other mechanism to copy and rename the .war file of interest. No servlets need to be extended. http://tomcat.apache.org/tomcat-6.0-doc/deployer-howto.html http://tomcat.apache.org/tomcat-6.0-doc/manager-howto.html - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Error 404 when redirected
Thank you for these explanations Chuck! Caldarale, Charles R a écrit le 07/10/2010 15:38: From: arnaud icard [mailto:arnaud.ic...@univ-avignon.fr] Subject: Re: Error 404 when redirected Second, you should not be placingContext elements in server.xml. This is not completly true Note that I said should not rather than must not. You can placeContext elements in server.xml, but it is not best practice, and is strongly discouraged. Don't do it. Third, eachHost should have a unique appBase directory. This is already the case, isn't it? Not really, since docBase == appBase in your original config. Your original configuration was ambiguous. Most of these applications are deployed using ant deploy. Not relevant. Thus I cannot place context file in the application/ROOT/META-INF Of course you can. However, as I stated earlier, you don't actually need anyContext elements in the examples you gave. So I now have the following server.xml : Context path= docBase=ROOT crossContext=false Just remove theContext elements like the above - they're unnecessary. Context path= docBase=uportal crossContext=false Remove that one as well, and change the uportal directory name to ROOT. Context path=/ResourceServingWebapp docBase=ResourceServingWebapp crossContext=false ThatContext element is also not necessary - remove it. The file layout for uportal is (yes 2 times uportal): /var/www/uportal/ uportal/ Change the above to ROOT/. ResourceServingWebapp/ That one is fine. I don't get why I had to specify ROOT in the docBase argument. You shouldn't have a docBase argument, because you don't need anyContext elements at all. Is it not the value by default ? No; there is no default for docBase, since it should be used only when aContext element is in conf/Catalina/[host]/[appName].xml, and the associated webapp is located outside of theHost's appBase directory. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Deploy Dynamic Contexts
Op donderdag, 7 oktober 2010 11:49 schreef Rob Gregory rob.greg...@ibsolutions.com: Hi Tomcat Community, Does anyone know if it is possible to dynamically create contexts on demand. I have a requirement to be able to ship a single application.war file and create multiple contexts from this without manually using the manager application etc. Tomcat is the latest version 6.0.29. Dare I ask if it is possible to extend the manager servlet to achieve this deployment task? Thanks in advance Rob You can de a lot with JMX. But I have never used it myself for deploying context, so can't give you any advise about that. http://tomcat.apache.org/tomcat-6.0-doc/monitoring.html Ronald.
Re: Tomcat5.5 MySQL14.12 java.net.SocketException: Broken pipe
Thanks Jason. I have added the two parameters. Hopefully I will have seen the last of this error. - Original Message - From: Jason Britton jbritto...@gmail.com To: Tomcat Users List users@tomcat.apache.org Sent: Wednesday, October 06, 2010 11:57 PM Subject: Re: Tomcat5.5 MySQL14.12 java.net.SocketException: Broken pipe To your mysql Resource definition below I would add validationQuery=SELECT 1 That should prevent your application from getting handed stale db connections from your pool. Take a look at the testOnBorrow and validationQuery definitions here http://commons.apache.org/dbcp/configuration.html Jason On Wed, Oct 6, 2010 at 8:18 PM, Steve Ryder sry...@jsrsys.com wrote: I am getting this during mysql connection (about once a week). I have read the thread on MySQL forum, which has a solution, but the link to the solution is broken and points back to the same page. Suggestions have been use autoconnect=true Another was that the server timeout was shorter than the connection time-out. I have the following: In server.xml: Connector port=80 maxHttpHeaderSize=8192 maxThreads=192 minSpareThreads=32 maxSpareThreads=128 enableLookups=false redirectPort=8443 acceptCount=128 connectionTimeout=2 disableUploadTimeout=true / In context.xml Resource name=jdbc/MySql auth=Container type=javax.sql.DataSource url=jdbc:mysql://localhost.localdomain/rsa?autoReconnect=true factory=org.apache.commons.dbcp.BasicDataSourceFactory driverClassName=com.mysql.jdbc.Driver password=jsrsys username=jsrsys maxWait=1 maxActive=200 maxIdle=5 removeAbandoned=true removeAbandonedTimeout=300 logAbandoned=true / Note that maxWait is 1/2 of connectionTimeout and I have autoReconnect=true. Any ideas. This is low priority as users are able to reconnect by just pressing Refresh, but I would like this to go away. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Tomcat 6.0.29, Manager App, multiple virtual hosts
Hi, I'm using Tomcat 6.0.29 with JVM 1.6.x with multiple virtual hosts. If the Tomcat manager app is only in a single vhost can the manager app be configured to control all applications in Tomcat, regardless of vhost? Or is it specific to the vhost its in? Reading the docs says its vhost specific but I thought I'd get confirmation. Thanks, -- Best Regards, Brett Delle Grazie __ This email has been scanned by the MessageLabs Email Security System. For more information please visit http://www.messagelabs.com/email __ - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat 6.0.29, Manager App, multiple virtual hosts
On 07/10/2010 16:26, Brett Delle Grazie wrote: Hi, I'm using Tomcat 6.0.29 with JVM 1.6.x with multiple virtual hosts. If the Tomcat manager app is only in a single vhost can the manager app be configured to control all applications in Tomcat, regardless of vhost? Or is it specific to the vhost its in? Reading the docs says its vhost specific but I thought I'd get confirmation. vhost only. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Error 503 ocurring when server under load
Hey all, Recently migrated a production site (mixture of Servlets and JSPs) from Oracle Application Server to Apache/Tomcat. Since then we have seen numerous HTTP Error 503 - Service unavailable errors at peak times when site is under load. mod_jk.log has the following error message(s): [2184:1952] [error] jk_lb_worker.c (1473): All tomcat instances failed, no more workers left I'm looking for help in trying to tweak settings to prevent this, or confirmation that I've configured the setup correctly. Many thanks Rob Platform: Windows Server 2003 SP2 Setup: Two tomcat instances with a single Apache front end, all on the same server Versions Tomcat: 6.0.24 Apache: 2.2.16 mod SSL: 2.2.16 Open SSL: 0.9.8 mod_JK:1.2.30 Conf: httpd.conf: IfModule mod_jk.c JkWorkersFile conf/workers.properties JkLogFile logs/mod_jk.log JkLogLevel error JkLogStampFormat [%a %b %d %H:%M:%S %Y] JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat %w %V %T Location /*/WEB-INF/* AllowOverride None deny from all /Location JkMount /examples balancer JkMount /examples/* balancer JkMount /App1/* balancer JkMount /App2/* balancer /IfModule Workers.properties: workers.tomcat_home=C:\tomcat1 workers.java_home=C:\Program Files\Java\jdk1.6.0_18 ps=\ # Define workers #worker.list=worker1,worker2 worker.list=balancer # Set properties for worker worker1 (ajp13) worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 worker.worker1.lbfactor=1 worker.worker1.cachesize=10 worker.worker1.connection_pool_timeout=300 worker.worker1.socket_keepalive=FALSE #worker.worker1.recycle_timeout=300 # Set properties for worker worker2 (ajp13) worker.worker2.type=ajp13 worker.worker2.host=localhost worker.worker2.port=8019 worker.worker2.lbfactor=1 worker.worker2.cachesize=10 worker.worker2.connection_pool_timeout=300 worker.worker2.socket_keepalive=FALSE #worker.worker2.recycle_timeout=300 worker.balancer.type=lb worker.balancer.balance_workers=worker1,worker2 worker.balancer.method=R worker.balancer.sticky_session=True Server.xml (same for both tomcat instances apart from jvmRoute): ?xml version='1.0' encoding='utf-8'? Server port=8005 shutdown=SHUTDOWN Listener className=org.apache.catalina.core.AprLifecycleListener SSLEngine=on / Listener className=org.apache.catalina.core.JasperListener / Listener className=org.apache.catalina.core.JreMemoryLeakPreventionListener / 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=8080 protocol=HTTP/1.1 connectionTimeout=4 redirectPort=8443 / Connector port=8009 protocol=AJP/1.3 redirectPort=8443 / Engine name=Catalina defaultHost=localhost jvmRoute=worker1 Realm className=org.apache.catalina.realm.UserDatabaseRealm resourceName=UserDatabase/ Host name=localhost appBase=webapps unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false /Host /Engine /Service /Server - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Tomcat auf MS Cluster?
-Original Message- From: Mark Thomas [mailto:ma...@apache.org] Sent: Wednesday, October 06, 2010 9:31 AM To: Tomcat Users List Subject: Re: Tomcat auf MS Cluster? On 06/10/2010 15:16, Jeffrey Janner wrote: I agree with Mark, upgrade your Tomcat to a supported rev. If possible, go to the latest 6.0, otherwise, 5.5.x would be good, but it will become unsupported shortly when 7.0.x becomes official. Less supported maybe. The rough guide is: - 7.0.x - enhancements, bug fixes security fixes - 6.0.x - bug fixes security fixes - 5.5.x - security fixes But that is only a very rough guide. A lot of enhancements are making it into 6.0.x and 5.5.x is still getting bug fixes. The last time the devs officially declared something unsupported (4.1.x) there was a 12 month notice period and I assume the same would be true when 5.5.x finally reaches end of life. Mark Thanks for the update Mark. As a heavy 5.5.x user, that is reassuring. __ Confidentiality Notice: This Transmission (including any attachments) may contain information that is privileged, confidential, and exempt from disclosure under applicable law. If the reader of this message is not the intended recipient you are hereby notified that any dissemination, distribution, or copying of this communication is strictly prohibited. If you have received this transmission in error, please immediately reply to the sender or telephone (512) 343-9100 and delete this transmission from your system. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Error 503 ocurring when server under load
Rob G wrote: Hey all, Recently migrated a production site (mixture of Servlets and JSPs) from Oracle Application Server to Apache/Tomcat. Since then we have seen numerous HTTP Error 503 - Service unavailable errors at peak times when site is under load. mod_jk.log has the following error message(s): [2184:1952] [error] jk_lb_worker.c (1473): All tomcat instances failed, no more workers left I'm looking for help in trying to tweak settings to prevent this, or confirmation that I've configured the setup correctly. Many thanks Rob Platform: Windows Server 2003 SP2 Setup: Two tomcat instances with a single Apache front end, all on the same server Versions Tomcat: 6.0.24 Apache: 2.2.16 mod SSL: 2.2.16 Open SSL: 0.9.8 mod_JK:1.2.30 Your configuration looks very clean to me (no unnecessary settings etc.), which in this case is a plus (a good base to start tuning). You may want to upgrade Tomcat to the latest version (6.0.29). But before you start tuning, you should get some idea of what is actually going on. For example, at the moment these errors happen, what are these Tomcats really doing ? Are they really busy each processing 200 requests, with 200 threads running and actually doing something ? (200 is the default for the maxThreads attribute of the AJP Connector). If yes, then you may just need a leaner application, or a bigger system (more RAM, faster CPU), or more systems. What does the Task Manager tell you about the total system load ? If not, and many of these threads are waiting, then you may have an issue with a keepAlive that is too long. See http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html, for the connectionTimeout and keepAliveTimeout attributes. Whatever you do, first get an idea of the starting situation. Then modify one setting at a time, and observe (and note) the effects. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Disable class monitoring for reloading container classes
On 06/10/2010 20:39, Jane Muse wrote: There's a backgroundProcessor method in tomcat that checks whether container classes need to be reloaded, and checks for session expirations. Is it possible to disable this method, like you can disable class reloading for the context with reloadable=false? I'm using tomcat 6.0.18 on an IBM i (OS400) version V6R1. When daylight savings time hits, our application gets reloaded, and the following statements are in catalina.out: How about fixing the system time zone to be one that doesn't change with daylight time savings? p Mar 14, 2010 3:00:08 AM org.apache.catalina.core.StandardContext reload INFO: Reloading this Context has started We have been able to stop the application from reloading on a different version of the IBM i, version V7R1, by using reloadable=false. However on the V6R1 O/S the application still reloads because the background processor detects a timestamp change when DST occurs. From the documentation, it doesn't look like backgroundProcessorDelay can be used to suppress backgroundProcess, just to delay it as its name implies. We would gladly upgrade tomcat to a more recent version if we thought this issue had been resolved, but I don't see any mention of it in the change logs. - Jane 0x62590808.asc Description: application/pgp-keys signature.asc Description: OpenPGP digital signature
Re: NullPointerException when Tomcat calls org.apache.catalina.connector.Request.parseParameters
You are correct. This stack trace came from a server with 6.0.13 installed. We also observed this in our environment with 6.0.24. Right now, it is not an option to upgrade. Is there a work-around? Below is the connector info from our server.xml file and the request from the Net panel of Firebug. Thanks, - Dave Here is our connector info: Connector port=8081 protocol=HTTP/1.1 maxThreads=150 connectionTimeout=2 redirectPort=8443 / !-- Define an AJP 1.3 Connector on port 8009 -- Connector port=8001 protocol=AJP/1.3 maxThreads=1500 minSpareThreads=250 maxSpareThreads=750 connectionTimeout=6 emptySessionPath=true / Params: nextsave Response Headers: DateThu, 07 Oct 2010 18:30:35 GMT Server Apache/2.2.4 (Unix) mod_jk/1.2.25 Locationhttp://laughlin-qa.criticalmass.com:8100//meetings/rfp/save.jsp VaryUser-Agent,Accept-Encoding Content-Encodinggzip Keep-Alive timeout=10 Connection Keep-Alive Transfer-Encoding chunked Content-Typetext/html;charset=UTF-8 request headers: Request Headersview source Hostlaughlin-qa.criticalmass.com:8100 User-Agent Mozilla/5.0 (Macintosh; U; Intel Mac OS X 10.6; en-US; rv:1.9.2.2) Gecko/20100316 Firefox/3.6.2 Accept text/html,application/xhtml+xml,application/xml;q=0.9,*/*;q=0.8 Accept-Language en-us,en;q=0.5 Accept-Encoding gzip,deflate Accept-Charset ISO-8859-1,utf-8;q=0.7,*;q=0.7 Keep-Alive 115 Connection keep-alive Referer http://laughlin-qa.criticalmass.com:8100/meetings/rfp/step2.jsp Cookie __utma=63169330.1613937882.1286296658.1286471507.1286476849.5; __utmz=63169330.1286296658.1.1.utmcsr=(direct)|utmccn=(direct)|utmcmd=(none); __qca=P0-88964422-1286297860748; s_sq=%5B%5BB%5D%5D; s_cc=true; __utmc=63169330; JSESSIONID=EB602AD147B7DE6FA96E37C51AF3D26C.qa1; dfa_cookie=rrvisitrrvisitlasvegasqa%2Crrvisitlaughlinqa; __utmb=63169330.6.10.1286476849 POst parameters: RFP_PARAM_group_nameasdfads RFP_PARAM_meeting_name sdfsfdfds RFP_PARAM_steps_included_... laughlinFormSubmit true step2 taskinput source: Content-Type: application/x-www-form-urlencoded Content-Length: 143 task=inputstep=2RFP_PARAM_group_name=asdfadsRFP_PARAM_meeting_name=sdfsfdfdsRFP_PARAM_steps_included_in_attachment=laughlinFormSubmit=true Konstantin Kolinko wrote: 2010/10/6 laredotornado laredotorn...@gmail.com: Hi, I'm using Tomcat 6.0.26 with Java 1.6. I'm getting a strange NullPointerException from a Tomcat class. My code is … if (request != null request.getParameter(FORM_SUBMIT_SITE_NAME + FormSubmit) != null) { and the stack trace is below. I have verified I'm not passing a null to request.getParameter. Another thread I found suggests this is an encoding issue, but all the characters I'm using are UTF-8. Any ideas how to troubleshoot this further? Thanks, - Dave java.lang.NullPointerException at org.apache.catalina.connector.Request.parseParameters(Request.java:2426) at org.apache.catalina.connector.Request.getParameter(Request.java:1040) The line numbers in your stack trace do not match the Tomcat 6.0.26 sources, http://svn.apache.org/viewvc/tomcat/tc6.0.x/tags/TOMCAT_6_0_26/java/org/apache/catalina/connector/Request.java?view=markup What is going on? Best regards, Konstantin Kolinko - 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/NullPointerException-when-Tomcat-calls-org.apache.catalina.connector.Request.parseParameters-tp29898530p29909313.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
RE: Disable class monitoring for reloading container classes
There are several Java's on the IBM machine. Yesterday I performed tests by changing JAVA_HOME in the catalina startup script to Sun's Java 1.5 and Sun's java 1.6. Previously it was IBM's J9 1.5.0. The results were the same with the various JVM's. The reason why there's a problem when the application gets reloaded is due to we are loading a JNI native library that the application requires. According to the following link, section 11.2.4, the JVM does not allow a JNI native library to be loaded by more than one class loader. When the application is shut down by tomcat, the native library does not get unloaded from the class loader. This only happens when the JVM is brought down. Thus when the application starts up after tomcat reloads it, we get an UnsatisfiedLinkError. http://java.sun.com/docs/books/jni/html/design.html Thanks. -Jane -Original Message- From: André Warnier [mailto:a...@ice-sa.com] Sent: Thursday, October 07, 2010 3:26 AM To: Tomcat Users List Subject: Re: Disable class monitoring for reloading container classes Jane Muse wrote: André - you are correct. We actually modified autoDeploy attribute on the Host element to false, and not reloadable in the application context xml, and then it worked on IBM I V7R1. Your 3rd point below is probably the key to why it works on one version of the O/S and not the other. The version where it does not work is Java 1.5.0, and where it does is Java 1.6.0. I have a question into IBM to see if I can change the Java used by the O/S. I believe that if you phrased the question like that, they may not understand what you mean, as the OS itself probably does not use Java. Do you know how I could change the JVM used by tomcat on a machine? To change the JVM used by Tomcat is easy, but first you need to install a 1.6 JVM on that machine. You should be able to install the JVM 1.6 in addition to the existing 1.5, if you have any concern about the possibility of breaking other applications. For the exact way to do that, you will need help from an OS specialist for that machine. Once you have installed this 1.6 JVM, having Tomcat use it instead of the 1.5 JVM is easy. Basically, it consists of setting the environment value JAVA_HOME to point to the new JVM before starting Tomcat. That's all there is to it. That needs to be done somewhere in the scripts which are used at Tomcat start, but I cannot tell you where exactly on that platform. If Java and Tomcat are IBM packages on that platform, then you will probably also need an OS specialist to help you with that. re: your fourth point I test this by changing the system time on the O/S. Right. But my point was : since in reality, on a productive system, this is happening only twice a year, does it matter if those times the application(s) get reloaded ? (In fact, I strongly suspect that it may happen only /at most/ once a year, and then only in very specific circumstances. It is your changing of the system time which triggers the reloading, but it would probably never happen in reality on a production system). I couldn't figure out how to test your last guess because the context element in tomcat's context.xml wouldn't accept the reloadable attribute. That was only a wild unsubstantiated guess. I expect someone else more qualified to shoot down that suggestion, just about... now. Thanks, Welcome. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Disable class monitoring for reloading container classes
Jane Muse wrote: .. The reason why there's a problem when the application gets reloaded is due to we are loading a JNI native library that the application requires. According to the following link, section 11.2.4, the JVM does not allow a JNI native library to be loaded by more than one class loader. When the application is shut down by tomcat, the native library does not get unloaded from the class loader. This only happens when the JVM is brought down. Thus when the application starts up after tomcat reloads it, we get an UnsatisfiedLinkError. Ok, I can really not comment on that one. It seems a valid reason to me, but I am by no means a specialist here. There are several Java's on the IBM machine. Yesterday I performed tests by changing JAVA_HOME in the catalina startup script to Sun's Java 1.5 and Sun's java 1.6. Previously it was IBM's J9 1.5.0. The results were the same with the various JVM's. Are you sure that wherever you changed it, is really being used ? If you go to the bin directory of your Tomcat installation, and execute the ./version.sh script, what does it tell you ? The reason I am asking, is that when Tomcat comes pre-packaged for some given OS, the packagers may have provided their own startup scripts, which may not use the standard Tomcat startup scripts, or which may overwrite the JAVA_HOME environment value before actually launching Tomcat. We on this list generally do not know the exact contents of these packages, so you really have to make sure, by following the chain of what happens when you start Tomcat on that machine. If you know where the line is which actually launches Tomcat, you could insert an instruction just before, such as echo Java Home : $JAVA_HOME just to make sure. And there is always the workaround mentioned by Pid.. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Disable class monitoring for reloading container classes
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Jane, On 10/6/2010 3:39 PM, Jane Muse wrote: There's a backgroundProcessor method in tomcat that checks whether container classes need to be reloaded, and checks for session expirations. Is it possible to disable this method, like you can disable class reloading for the context with reloadable=false? I'm using tomcat 6.0.18 on an IBM i (OS400) version V6R1. When daylight savings time hits, our application gets reloaded, and the following statements are in catalina.out: Mar 14, 2010 3:00:08 AM org.apache.catalina.core.StandardContext reload INFO: Reloading this Context has started Does this happen with every DST change that results in the clock being set backward? I haven't looked at the code, but I can't imagine that the BackgroundProcessor keeps the timestamp of the last file scan around for comparison. Instead, I would expect logic similar to this: while(true) { sleep find files modified since last context startup if file list is non-empty, reload context } If the above logic is the actual implementation, then the only time you'd have a problem is when you've deployed a webapp during the window covered by the DST-clock-setback. For instance, if the clock goes from 02:00 early Sunday morning to 00:00 early Sunday morning, then you should only experience some kind of confusion if you deploy between 00:00 and 02:00 the first time through early on Sunday morning. I've never observed a DST clock-setback trigger a webapp reload. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkyuPAsACgkQ9CaO5/Lv0PA3bwCgnauu9wy7dILRiDW+5NVAABHa dPoAn0C+3Z5Ff0roq3CEQbtXS0sj0hqs =8WJQ -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Error 503 ocurring when server under load
On 07/10/2010 18:31, André Warnier wrote: Rob G wrote: Hey all, Recently migrated a production site (mixture of Servlets and JSPs) from Oracle Application Server to Apache/Tomcat. Since then we have seen numerous HTTP Error 503 - Service unavailable errors at peak times when site is under load. mod_jk.log has the following error message(s): OK. Is there anything else different apart from the Servlet container? [2184:1952] [error] jk_lb_worker.c (1473): All tomcat instances failed, no more workers left Seems like your Tomcats are maxed out. I'm looking for help in trying to tweak settings to prevent this, or confirmation that I've configured the setup correctly. Platform: Windows Server 2003 SP2 Setup: Two tomcat instances with a single Apache front end, all on the same server Why do you have two Tomcat instances? (It's not a trick question, I'm interested in your reasoning.) Versions Tomcat: 6.0.24 Apache: 2.2.16 mod SSL: 2.2.16 Open SSL: 0.9.8 There's newer OpenSSL available, with important security fixes, if I'm not mistaken. mod_JK:1.2.30 Your configuration looks very clean to me (no unnecessary settings etc.), which in this case is a plus (a good base to start tuning). Was there an attachment I didn't see? You may want to upgrade Tomcat to the latest version (6.0.29). +1 But before you start tuning, you should get some idea of what is actually going on. +1 For example, at the moment these errors happen, what are these Tomcats really doing ? Are they really busy each processing 200 requests, with 200 threads running and actually doing something ? (200 is the default for the maxThreads attribute of the AJP Connector). Q: How many threads server instances did you have before? If yes, then you may just need a leaner application, or a bigger system (more RAM, faster CPU), or more systems. What does the Task Manager tell you about the total system load ? What were your Java -Xmx etc settings before, and now? If not, and many of these threads are waiting, then you may have an issue with a keepAlive that is too long. Or several other things. What is your Connector config? Are you using an Executor? Is there a database behind this, if so, what are the DataSource pool size settings? See http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html, for the connectionTimeout and keepAliveTimeout attributes. Whatever you do, first get an idea of the starting situation. Then modify one setting at a time, and observe (and note) the effects. Thread dumps from a maxed out Tomcat will tell you what each Thread is waiting for. Collect a series of these during high load periods to find out what's happening. Enable JMX and check the Connector, (Executor if enabled), and DataSources; I'd be looking at backlog of requests, active + idle pool members, total pool size. p - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org 0x62590808.asc Description: application/pgp-keys signature.asc Description: OpenPGP digital signature
Re: Disable class monitoring for reloading container classes
On 07/10/2010 21:34, André Warnier wrote: Jane Muse wrote: .. The reason why there's a problem when the application gets reloaded is due to we are loading a JNI native library that the application requires. According to the following link, section 11.2.4, the JVM does not allow a JNI native library to be loaded by more than one class loader. When the application is shut down by tomcat, the native library does not get unloaded from the class loader. This only happens when the JVM is brought down. Thus when the application starts up after tomcat reloads it, we get an UnsatisfiedLinkError. Ok, I can really not comment on that one. It seems a valid reason to me, but I am by no means a specialist here. Sounds like a memory leak in your application, to me. More recent versions of Tomcat have memory leak detection features, you shouldn't have a problem testing with the latest version, even if you can't deploy with it. Monitor the log file(s) for additional information during app restarts. p There are several Java's on the IBM machine. Yesterday I performed tests by changing JAVA_HOME in the catalina startup script to Sun's Java 1.5 and Sun's java 1.6. Previously it was IBM's J9 1.5.0. The results were the same with the various JVM's. Are you sure that wherever you changed it, is really being used ? If you go to the bin directory of your Tomcat installation, and execute the ./version.sh script, what does it tell you ? The reason I am asking, is that when Tomcat comes pre-packaged for some given OS, the packagers may have provided their own startup scripts, which may not use the standard Tomcat startup scripts, or which may overwrite the JAVA_HOME environment value before actually launching Tomcat. We on this list generally do not know the exact contents of these packages, so you really have to make sure, by following the chain of what happens when you start Tomcat on that machine. If you know where the line is which actually launches Tomcat, you could insert an instruction just before, such as echo Java Home : $JAVA_HOME just to make sure. And there is always the workaround mentioned by Pid.. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org 0x62590808.asc Description: application/pgp-keys signature.asc Description: OpenPGP digital signature
Re: Disable class monitoring for reloading container classes
On 07/10/2010 22:30, Christopher Schultz wrote: Jane, On 10/6/2010 3:39 PM, Jane Muse wrote: There's a backgroundProcessor method in tomcat that checks whether container classes need to be reloaded, and checks for session expirations. Is it possible to disable this method, like you can disable class reloading for the context with reloadable=false? I'm using tomcat 6.0.18 on an IBM i (OS400) version V6R1. When daylight savings time hits, our application gets reloaded, and the following statements are in catalina.out: Mar 14, 2010 3:00:08 AM org.apache.catalina.core.StandardContext reload INFO: Reloading this Context has started Does this happen with every DST change that results in the clock being set backward? I haven't looked at the code, but I can't imagine that the BackgroundProcessor keeps the timestamp of the last file scan around for comparison. Instead, I would expect logic similar to this: while(true) { sleep find files modified since last context startup if file list is non-empty, reload context } If the above logic is the actual implementation, then the only time you'd have a problem is when you've deployed a webapp during the window covered by the DST-clock-setback. For instance, if the clock goes from 02:00 early Sunday morning to 00:00 early Sunday morning, then you should only experience some kind of confusion if you deploy between 00:00 and 02:00 the first time through early on Sunday morning. +1 actually. Logical. p I've never observed a DST clock-setback trigger a webapp reload. -chris - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org 0x62590808.asc Description: application/pgp-keys signature.asc Description: OpenPGP digital signature
Upgrading point releases
Hello - I see on the apache site that there are notes for upgrading from one whole version to another, but I don't see anything regarding minor point releases. Is there somewhere that someone can refer me for upgrade instructions when going from 7.0.0 to 7.0.2, for example? Is it always a full installation and then moving pertinent web application files into the new installation? Debbie Shapiro Data Warehouse Manager Cardiac Science Corporation * 3303 Monte Villa Parkway, Bothell, WA 98021 Office: 425.402.2233 Cardiac Science [NASDAQ: CSCX] provides defibrillation, ECG, stress, rehab, and Holter devices that connect to EMR and HIS systems. Ask for our Burdick(r), HeartCentrix(r), Powerheart(r), and Quinton(r) products, services, supplies - and about our new products! Visit our frequently updated blog at http://cardiacscience.com/blog
RE: Upgrading point releases
From: Debbie Shapiro [mailto:dshap...@cardiacscience.com] Subject: Upgrading point releases Is there somewhere that someone can refer me for upgrade instructions when going from 7.0.0 to 7.0.2, for example? Not really, since such an upgrade should border on the trivial. But in the special case where no releases for a major level have reached the stable stage, there's a somewhat larger chance of incompatible changes being introduced in a dot level. Once a stable version is released, the chance of that is practically nil, unless some security-related fix dictates otherwise. Is it always a full installation and then moving pertinent web application files into the new installation? Pretty much. Safest to install in a different directory than your current Tomcat one so you have a quick fallback if something goes awry. You will have to update conf/*.xml files with any site-specific changes, and insure that your startup scripts and/or services know about the new location. - Chuck THIS COMMUNICATION MAY CONTAIN CONFIDENTIAL AND/OR OTHERWISE PROPRIETARY MATERIAL and is thus for use only by the intended recipient. If you received this in error, please contact the sender and delete the e-mail and its attachments from all computers. Debbie Shapiro Data Warehouse Manager Cardiac Science Corporation * 3303 Monte Villa Parkway, Bothell, WA 98021 Office: 425.402.2233 Cardiac Science [NASDAQ: CSCX] provides defibrillation, ECG, stress, rehab, and Holter devices that connect to EMR and HIS systems. Ask for our Burdick(r), HeartCentrix(r), Powerheart(r), and Quinton(r) products, services, supplies - and about our new products! Visit our frequently updated blog at http://cardiacscience.com/blog - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: experience with Windows 7
On 07/10/2010 09:29, Wolfgang Orthuber wrote: The following experience may be interesting for installation of Tomcat on Windows 7 (64 Bit): First I installed jdk1.6.0_20 and then apache-tomcat-6.0.29.exe on a Windows XP (32 Bit) system and there were no problems. Then I installed the same combination on a Windows 7 (64 Bit) System, but Tomcat didn’t start, in the log there was the message: Java6.0.20 64bit on some types of Windows systems has an epic bug. Upgrade to 6.0.21 (or newer if you're reading this in what is presently the future) at your earliest opportunity. p javajni.c] [error] %1 is not a valid Win32 application. I made some experiments and copied the Tomcat directory from Windows XP (32 Bit) directly over the Tomcat directory of Windows 7 (64 Bit). Then Tomcat started also on Windows 7. Wolfgang - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org 0x62590808.asc Description: application/pgp-keys signature.asc Description: OpenPGP digital signature
Re: Error 503 ocurring when server under load
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Rob, On 10/7/2010 12:59 PM, Rob G wrote: Recently migrated a production site (mixture of Servlets and JSPs) from Oracle Application Server to Apache/Tomcat. Since then we have seen numerous HTTP Error 503 - Service unavailable errors at peak times when site is under load. mod_jk.log has the following error message(s): [2184:1952] [error] jk_lb_worker.c (1473): All tomcat instances failed, no more workers left Just to reinforce a comment by Andre, I think you might want to compare the request processor counts you have for Tomcat versus mod_jk: the default maxThreads for a Tomcat Connector is 200, while your MaxClients settings might be different on your Apache httpd configuration. If you have httpd.MaxClients=250 and connector.maxThreads=200 then you have a deficit of 50 who will get 503 errors if they try to access your webapp during peak load. Apache: 2.2.16 I believe that only the Worker MPM is available on Microsoft Windows. Have you explicitly configured an MPM? worker.worker1.cachesize=10 You might want to read the documentation for worker.cachesize in http://tomcat.apache.org/connectors-doc/reference/workers.html Note that it's deprecated and you should use connection_pool_size instead. Since you're using Apache 2.x, mod_jk should be able to auto-configure this value for you. - From my reading, you may be limiting yourself to 10 simultaneous connections from Apache httpd to Tomcat, and others will get a 503. Rainer or Mladen will have to comment to clarify: I am certainly no expert in mod_jk configurations. Hope that helps, - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkyuRwUACgkQ9CaO5/Lv0PC3nACePwYgc2w4td8jSdRCM5rp9IB9 PB4AoKj4cR9F+FhsR20W4vIvcWkRevyL =nuW/ -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: [OT] Serialization
On 06/10/2010 11:55, Wolfgang Orthuber wrote: The build in serialization tool of java has probably high performance (which is in the long run important for search), and needed not much time for programming, therefore it was my initial choice. There's an assumption there, and some reasoning I'm not sure I understand. p 0x62590808.asc Description: application/pgp-keys signature.asc Description: OpenPGP digital signature
Re: [OT] Serialization
On 06/10/2010 11:55, Wolfgang Orthuber wrote: This would allow to sort medical histories precisely and to learn systematically from past experience. Only relative assessment is possible, no*? So every patient who wants to share his experiences in precisely searchable form, can get the opportunity for doing this. Precise search on objective data, would seem to be fraught with problems*. *Assuming I'm understanding the context. p 0x62590808.asc Description: application/pgp-keys signature.asc Description: OpenPGP digital signature
Re: Error 503 ocurring when server under load
On 07/10/2010 23:17, Christopher Schultz wrote: Rob, On 10/7/2010 12:59 PM, Rob G wrote: Recently migrated a production site (mixture of Servlets and JSPs) from Oracle Application Server to Apache/Tomcat. Since then we have seen numerous HTTP Error 503 - Service unavailable errors at peak times when site is under load. mod_jk.log has the following error message(s): [2184:1952] [error] jk_lb_worker.c (1473): All tomcat instances failed, no more workers left Just to reinforce a comment by Andre, I think you might want to compare the request processor counts you have for Tomcat versus mod_jk: the default maxThreads for a Tomcat Connector is 200, while your MaxClients settings might be different on your Apache httpd configuration. If you have httpd.MaxClients=250 and connector.maxThreads=200 then you have a deficit of 50 who will get 503 errors if they try to access your webapp during peak load. Apache: 2.2.16 I believe that only the Worker MPM is available on Microsoft Windows. Have you explicitly configured an MPM? worker.worker1.cachesize=10 Is this info in the original email? (If so, I think my mailer isn't behaving well). p - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org 0x62590808.asc Description: application/pgp-keys signature.asc Description: OpenPGP digital signature
Re: Error 503 ocurring when server under load
On 07/10/2010 17:59, Rob G wrote: Hey all, Recently migrated a production site (mixture of Servlets and JSPs) from Oracle Application Server to Apache/Tomcat. Since then we have seen numerous HTTP Error 503 - Service unavailable errors at peak times when site is under load. mod_jk.log has the following error message(s): [2184:1952] [error] jk_lb_worker.c (1473): All tomcat instances failed, no more workers left I'm looking for help in trying to tweak settings to prevent this, or confirmation that I've configured the setup correctly. Many thanks Rob Platform: Windows Server 2003 SP2 Setup: Two tomcat instances with a single Apache front end, all on the same server Versions Tomcat: 6.0.24 Apache: 2.2.16 mod SSL: 2.2.16 Open SSL: 0.9.8 mod_JK:1.2.30 Conf: httpd.conf: IfModule mod_jk.c JkWorkersFile conf/workers.properties JkLogFile logs/mod_jk.log JkLogLevel error JkLogStampFormat [%a %b %d %H:%M:%S %Y] JkOptions +ForwardKeySize +ForwardURICompat -ForwardDirectories JkRequestLogFormat %w %V %T Location /*/WEB-INF/* AllowOverride None deny from all /Location JkMount /examples balancer JkMount /examples/* balancer JkMount /App1/* balancer JkMount /App2/* balancer /IfModule Workers.properties: workers.tomcat_home=C:\tomcat1 workers.java_home=C:\Program Files\Java\jdk1.6.0_18 ps=\ # Define workers #worker.list=worker1,worker2 worker.list=balancer # Set properties for worker worker1 (ajp13) worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 worker.worker1.lbfactor=1 worker.worker1.cachesize=10 worker.worker1.connection_pool_timeout=300 worker.worker1.socket_keepalive=FALSE #worker.worker1.recycle_timeout=300 # Set properties for worker worker2 (ajp13) worker.worker2.type=ajp13 worker.worker2.host=localhost worker.worker2.port=8019 worker.worker2.lbfactor=1 worker.worker2.cachesize=10 worker.worker2.connection_pool_timeout=300 worker.worker2.socket_keepalive=FALSE #worker.worker2.recycle_timeout=300 worker.balancer.type=lb worker.balancer.balance_workers=worker1,worker2 worker.balancer.method=R worker.balancer.sticky_session=True Server.xml (same for both tomcat instances apart from jvmRoute): ?xml version='1.0' encoding='utf-8'? Server port=8005 shutdown=SHUTDOWN Listener className=org.apache.catalina.core.AprLifecycleListener SSLEngine=on / Listener className=org.apache.catalina.core.JasperListener / Listener className=org.apache.catalina.core.JreMemoryLeakPreventionListener / 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=8080 protocol=HTTP/1.1 connectionTimeout=4 redirectPort=8443 / Connector port=8009 protocol=AJP/1.3 redirectPort=8443 / Engine name=Catalina defaultHost=localhost jvmRoute=worker1 Realm className=org.apache.catalina.realm.UserDatabaseRealm resourceName=UserDatabase/ Host name=localhost appBase=webapps unpackWARs=true autoDeploy=true xmlValidation=false xmlNamespaceAware=false /Host /Engine /Service /Server [Answers own previous question] Weirdness. In addition to the previous relevant questions: Are both of the two Tomcat instances actually working? If the shutdown port is identical on both (8005), then I think the second one won't start up. The connectors certainly won't. Also, if you're using mod_jk 1.2.30 there's an example config in the install dir which uses the template config method and has good default settings. p 0x62590808.asc Description: application/pgp-keys signature.asc Description: OpenPGP digital signature
deploy to public_html folder
I would like to know how to deploy a war to the public_html ?
Re: Error 503 ocurring when server under load
Thanks to all for their replies to date. Much appreciated, I'll respond to some of the points raised. Apologies if I'm asking basic stuff but still getting my ahead around Tomcat and Apache integration. On 7 October 2010 18:31, André Warnier wrote: Your configuration looks very clean to me (no unnecessary settings etc.), which in this case is a plus (a good base to start tuning). Thank you You may want to upgrade Tomcat to the latest version (6.0.29). Noted For example, at the moment these errors happen, what are these Tomcats really doing ? Are they really busy each processing 200 requests, with 200 threads running and actually doing something ? (200 is the default for the maxThreads attribute of the AJP Connector). Unfortunately I'm not in a position to conduct realtime monitoring of the server and Tomcat. Is there a way to log this thread data? If yes, then you may just need a leaner application, or a bigger system (more RAM, faster CPU), or more systems. What does the Task Manager tell you about the total system load ? Again, unfortunately not in a position to monitor in real time. If not, and many of these threads are waiting, then you may have an issue with a keepAlive that is too long. See http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html, for the connectionTimeout and keepAliveTimeout attributes. Will do Whatever you do, first get an idea of the starting situation. Then modify one setting at a time, and observe (and note) the effects. Sensible advice Pid wrote: OK. Is there anything else different apart from the Servlet container? I'm not sure what you mean? Why do you have two Tomcat instances? (It's not a trick question, I'm interested in your reasoning.) Load balancing. I thought/guessed that two instances would be sufficent. Perhaps this was incorrect and I need more? Was there an attachment I didn't see? No, all details for .conf files and server.xml was posted inline. How many threads server instances did you have before? What were your Java -Xmx etc settings before, and now? Are you using an Executor? I'll have to check, but I think it's safe to say that they are set to the default values as I don't recall changing anything relating to them. Thread dumps from a maxed out Tomcat will tell you what each Thread is waiting for. Collect a series of these during high load periods to find out what's happening. I'll have to figure out how to do this, but sounds a good idea. Christopher Schultz wrote I think you might want to compare the request processor counts you have for Tomcat versus mod_jk: the default maxThreads for a Tomcat Connector is 200, while your MaxClients settings might be different on your Apache httpd configuration. Excuse my ignorance, but can you clarify where I check these settings? I believe that only the Worker MPM is available on Microsoft Windows. Have you explicitly configured an MPM? Since I don't know what an MPM is I'm going to say no. Since you're using Apache 2.x, mod_jk should be able to auto-configure this value for you. Do I need to set anything to allow this auto config to happen? From my reading, you may be limiting yourself to 10 simultaneous connections from Apache httpd to Tomcat, and others will get a 503. What lead you to that conclusion? - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: deploy to public_html folder
Upload the .WAR archive to /public_html/servlet Extract .WAR archive using Shell access using the unzip command On Thu, Oct 7, 2010 at 6:54 PM, William Biggs kc8...@gmail.com wrote: I would like to know how to deploy a war to the public_html ? -- Thanks and many regards, Sreeprasad Govindankutty
RE: Disable class monitoring for reloading container classes
This happens with both DST and standard time changes. What's interesting is if we go back in time to Oct 29 2006, it does not occur. From March 2007 forward, every fall and spring we get the error when the application reloads. The DST time change rules changed in March 2007 for USA time zone. Thanks much, Jane -Original Message- From: Pid [mailto:p...@pidster.com] Sent: Thursday, October 07, 2010 2:52 PM To: Tomcat Users List Subject: Re: Disable class monitoring for reloading container classes On 07/10/2010 22:30, Christopher Schultz wrote: Jane, On 10/6/2010 3:39 PM, Jane Muse wrote: There's a backgroundProcessor method in tomcat that checks whether container classes need to be reloaded, and checks for session expirations. Is it possible to disable this method, like you can disable class reloading for the context with reloadable=false? I'm using tomcat 6.0.18 on an IBM i (OS400) version V6R1. When daylight savings time hits, our application gets reloaded, and the following statements are in catalina.out: Mar 14, 2010 3:00:08 AM org.apache.catalina.core.StandardContext reload INFO: Reloading this Context has started Does this happen with every DST change that results in the clock being set backward? I haven't looked at the code, but I can't imagine that the BackgroundProcessor keeps the timestamp of the last file scan around for comparison. Instead, I would expect logic similar to this: while(true) { sleep find files modified since last context startup if file list is non-empty, reload context } If the above logic is the actual implementation, then the only time you'd have a problem is when you've deployed a webapp during the window covered by the DST-clock-setback. For instance, if the clock goes from 02:00 early Sunday morning to 00:00 early Sunday morning, then you should only experience some kind of confusion if you deploy between 00:00 and 02:00 the first time through early on Sunday morning. +1 actually. Logical. p I've never observed a DST clock-setback trigger a webapp reload. -chris - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Disable class monitoring for reloading container classes
If I changed the system time zone not to change with daylight savings time, then it would be off by an hour. I don't think our customers would like that. Or am I misunderstanding your comment? Thanks, Jane -Original Message- From: Pid [mailto:p...@pidster.com] Sent: Thursday, October 07, 2010 8:23 AM To: Tomcat Users List Subject: Re: Disable class monitoring for reloading container classes On 06/10/2010 20:39, Jane Muse wrote: There's a backgroundProcessor method in tomcat that checks whether container classes need to be reloaded, and checks for session expirations. Is it possible to disable this method, like you can disable class reloading for the context with reloadable=false? I'm using tomcat 6.0.18 on an IBM i (OS400) version V6R1. When daylight savings time hits, our application gets reloaded, and the following statements are in catalina.out: How about fixing the system time zone to be one that doesn't change with daylight time savings? p Mar 14, 2010 3:00:08 AM org.apache.catalina.core.StandardContext reload INFO: Reloading this Context has started We have been able to stop the application from reloading on a different version of the IBM i, version V7R1, by using reloadable=false. However on the V6R1 O/S the application still reloads because the background processor detects a timestamp change when DST occurs. From the documentation, it doesn't look like backgroundProcessorDelay can be used to suppress backgroundProcess, just to delay it as its name implies. We would gladly upgrade tomcat to a more recent version if we thought this issue had been resolved, but I don't see any mention of it in the change logs. - Jane - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Apache/mod_jk serves random files from tomcat
Has this thread has a clear answer now? -- View this message in context: http://old.nabble.com/Apache-mod_jk-serves-random-files-from-tomcat-tp18385568p29912221.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