Problem with isapi_redirect for IIS 7.0 - Tomcat 6.0 connection
Hello, I have a problem with Windows 2008 server x64 IIS7 to Tomcat 6.0 (*32) ( Java (*32)) connection. Previously we used IIS6 and everything was fine. But now I got errors: 0x80070001 - if I use properties files for isapi_redirect.dll (32 bit version) or 0x80070002 - if I use registry entry. Regards, Artem Terekhov Артем Терехов Web-программист | АДВ +7 (495) 937-5272 aterek...@adventa-main.rumailto:oleg.klinni...@advgroup.ru АДВ - лидирующая группа маркетинговых коммуникаций в России, Украине, Казахстане, Белоруссии, Молдавии, Узбекистане и Азербайджане. В условиях быстро меняющихся рынков мы способствуем росту бизнеса наших клиентов за счет комплексного подхода к решению задач, целостного видения ситуации и лучших интеллектуальных ресурсов в отрасли. Помогая крупнейшим национальным и международным брендам отвечать на вызовы ХХI века, Группа АДВ предлагает полный спектр услуг в сфере маркетинговых коммуникаций, а именно: создание и продвижение брендов, управление инвестициями клиентов в СМИ, кросскультурную экспертизу, маркетинговые услуги, PR, интерактивные и цифровые решения и другие специализированные сервисы, позволяющие нашим клиентам эффективно возвращать инвестиции и устойчиво повышать спрос.
Windows 2008 Server (x64) IIS7 to Tomcat 6.0 32-bit with Java 32-bit isapi_redirect 1.2.28 connector problem
Hello, I have a problem with Windows 2008 server x64 IIS7 to Tomcat 6.0 (*32) ( Java (*32)) connection. Previously we used IIS6 and everything was fine. But now I got errors: 0x80070001 - if I use properties files for isapi_redirect.dll (32 bit version) or 0x80070002 - if I use registry entry. Regards, Artem Terekhov
Fw: i am unable to connect to tomcat 6.0 serevr from a different computer on the network
sir, i am using apache tomcat 6.0. my operating system is windows xp service pack 3. i have a problem. when i am trying to connect to the server from local system using http://localhost:8080/ it is getting connected. but if i am trying to connect to the server from different system on the network it is not getting connected. please help me with this. thank you in advance Keep up with people you care about with Yahoo! India Mail. Learn how. http://in.overview.mail.yahoo.com/connectmore
Fw: i am unable to connect to tomcat 6.0 serevr from a different computer on the network
--- On Wed, 14/10/09, Krishna Chaitanya kittu_...@yahoo.in wrote: From: Krishna Chaitanya kittu_...@yahoo.in Subject: Fw: i am unable to connect to tomcat 6.0 serevr from a different computer on the network To: users@tomcat.apache.org Date: Wednesday, 14 October, 2009, 8:00 AM sir, i am using apache tomcat 6.0. my operating system is windows xp service pack 3. i have a problem. when i am trying to connect to the server from local system using http://localhost:8080/ it is getting connected. but if i am trying to connect to the server from different system on the network it is not getting connected. please help me with this. thank you in advance Keep up with people you care about with Yahoo! India Mail. Learn how. http://in.overview.mail.yahoo.com/connectmore Keep up with people you care about with Yahoo! India Mail. Learn how. http://in.overview.mail.yahoo.com/connectmore
Re: Fw: i am unable to connect to tomcat 6.0 serevr from a different computer on the network
u need to use the ip of that server, where tomcat installed.. On Wed, Oct 14, 2009 at 1:33 PM, Krishna Chaitanya kittu_...@yahoo.inwrote: --- On Wed, 14/10/09, Krishna Chaitanya kittu_...@yahoo.in wrote: From: Krishna Chaitanya kittu_...@yahoo.in Subject: Fw: i am unable to connect to tomcat 6.0 serevr from a different computer on the network To: users@tomcat.apache.org Date: Wednesday, 14 October, 2009, 8:00 AM sir, i am using apache tomcat 6.0. my operating system is windows xp service pack 3. i have a problem. when i am trying to connect to the server from local system using http://localhost:8080/ it is getting connected. but if i am trying to connect to the server from different system on the network it is not getting connected. please help me with this. thank you in advance Keep up with people you care about with Yahoo! India Mail. Learn how. http://in.overview.mail.yahoo.com/connectmore Keep up with people you care about with Yahoo! India Mail. Learn how. http://in.overview.mail.yahoo.com/connectmore -- Regards Partha Goswami
Tomcat is not getting shutdown
Hi, I am facing an issue with Tomcat-5.5.27, the issue is Tomcat server is not getting shutdown. When I execute the shutdown.sh its not throwing any error/exception, but the process is still there and the another point is port everything is release only the process is not released. Environment: OS : Solaris-10 APR : 1.3.3 Tomcat Version: apache-tomcat-5.5.27 Any help is appreciate... Thanks in advance... - Suneel.
IIS ISAPI_redirector
I have a Windows 2003 Server with the ISAPI_Redirector installed. I want to stop it from passing the client IP to Tomcat. I have found http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html, where is states that I can set JK_REMOTE_USER. I have tried setting an environment variables and placing the variable in the config files. I am guessing that ISAPI Redirectors don't support this. Can someone confirm this for me? Also can someone help me block the client IP from Tomcat? Thank You. Bret
Re: changing default ROOT webapp in Tomcat 6.0.18
SpY0o2 wrote: hello, I've been trying to deploy an application to Tomcat 6.0.18. I would like to make it my default ROOT app (without renaming the app to ROOT), so that I can access my app by entering http://localhost:8080/ instead of http://localhost:8080/myApps Thanks. The easiest possible thing is to put an element in server.xml file in /conf directory. So, put your application inside Host element in server.xml file by using a Context element. this will be as follows... . . . Host .. Context path= docBase=/testApp /Context /Host this will make your testApp as ROOT application and you can access by http://localhost:8080. hope this help... --pulak -- View this message in context: http://www.nabble.com/changing-default-ROOT-webapp-in-Tomcat-6.0.18-tp22133382p25889772.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
Grails under Tomcat with security policy
I've asked this on the grails mailing list with no luck. Can someone tell me the minimum permissions I need to give a grails application to run under Tomcat? I don't want to disable all access checks when using reflection, and that seems to be what is recommended most of the time. Any assistance would be greatly appreciated. Thank you, -- Ken T. ktectr...@gmail.com - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat is not getting shutdown
Suneel Saguturu wrote: I am facing an issue with Tomcat-5.5.27, the issue is Tomcat server is not getting shutdown. When I execute the shutdown.sh its not throwing any error/exception, but the process is still there and the another point is port everything is release only the process is not released. Take a thread dump and look for non-daemon threads. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: IIS ISAPI_redirector
On 14.10.2009 13:47, Bret Unbehagen wrote: I have a Windows 2003 Server with the ISAPI_Redirector installed. I want to stop it from passing the client IP to Tomcat. I have found http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html, where is states that I can set JK_REMOTE_USER. I have tried setting an environment variables and placing the variable in the config files. I am guessing that ISAPI Redirectors don't support this. Can someone confirm this for me? Also can someone help me block the client IP from Tomcat? Unfortunately the feature only exists for Apache. The ISAPI Redirector takes the data from the server variables REMOTE_ADDR and REMOTE_HOST. You can check the IIS docs, whether IIS allows you to overwrite them in some simple way, but I don't know. Regards, Rainer - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: IIS ISAPI_redirector
2009/10/14 Rainer Jung rainer.j...@kippdata.de On 14.10.2009 13:47, Bret Unbehagen wrote: I have a Windows 2003 Server with the ISAPI_Redirector installed. I want to stop it from passing the client IP to Tomcat. I have found http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html, where is states that I can set JK_REMOTE_USER. I have tried setting an environment variables and placing the variable in the config files. I am guessing that ISAPI Redirectors don't support this. Can someone confirm this for me? Also can someone help me block the client IP from Tomcat? Unfortunately the feature only exists for Apache. The ISAPI Redirector takes the data from the server variables REMOTE_ADDR and REMOTE_HOST. You can check the IIS docs, whether IIS allows you to overwrite them in some simple way, but I don't know. Or you could go the long way round and compile your own version of the redirector - this may not be the easiest way round the problem, however! - Peter
Re: Connection between ListenerStart and clustering
Hi Rainer, I'm sorry for the long delay in getting back to you. I got sidetracked by another issue and wasn't able to look into this earlier. However, the bad news is that the administrators didn't allow me to apply the patch as it is a production server. I can apply it to pre-production, but the error isn't reproducable there... 2nd however; It's been 12 days since we've seen the listenerStart error due to the classDefNotFound (in production). I need to check with the developers whether they accidentily made any changes that might have solved this problem. It might as well be that we have been lucky and that the error starts appearing again tomorrow. I will try to reproduce the problem in another server, in order to try out the patch you supplied. Thanks again. 2009/10/3 Bocalinda bocali...@gmail.com Wow, that's what is called a quick turn around! :) Thanks. I'll try as soon as possible and let you know. 2009/10/3 Rainer Jung rainer.j...@kippdata.de On 03.10.2009 18:11, Bocalinda wrote: Hi Rainer. wild guess I remember problems with clustering which were of the following kind: session replication data was received on a node although the context wasn't yet fully initialized. Maybe we run into classloader troubles in that case? This could only happen if another node in the cluster is running all the time between stop and restart of the node, which logs the exception. This could certainly be the case as I have 4 nodos in cluster. I stop/restart one by one, in order to ensure the availability of the webapp. How easy can your reproduce the problem? In case I provide a patch, could you test, whether the problem goes away? /wild guess Taking into account that this is a production server, it won't be easy to play with it, but I can propose to take 2 nodes out of the cluster to do testing with. You can find a patched catalina-ha.jar and in case you are interested also the respective source code file at http://people.apache.org/~rjung/patches/tc6-cluster-context-startup-order.ziphttp://people.apache.org/%7Erjung/patches/tc6-cluster-context-startup-order.zip I did a one to one port from TC 5.5 to TC 6.0. So please test carefully and let us know the results, so we can include the patch into the standard code in case it proves it helps. Regards, Rainer - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Tomcat 5.5.26 hangs
Hi, our customer is running a cluster of tomcat servlet engines. On these, our web application is running. The basic setup is Loadbalancer --- Apache 1.3.x with mod_jk --- Tomcat with 2-3 Apache servers and 30 Tomcat instances bundled into clusters of 3-5 instances each. Apache + Tomcat servers are running on recent SUN multi-core machines under Solaris. The basic setup hasn't changed much over the past few years, except occasional updates to soft- and hardware, and the number of Tomcat instances has been increasing steadily. Currently, they're using Tomcat-5.5.26 on SUN's jdk 1.5.0_10 (64 bit) and mod_jk 1.2.28. Over the years, we have seen the same situation since before Tomcat-5.5.12. Most of the time, things work nicely. Occasionally, though, the whole system comes to a complete halt. A post-mortem thread dump shows all (!) worker threads on all instances waiting for input from the Apache servers, e. g.: TP-Processor2432 daemon prio=10 tid=0x00b2f258 nid=0x9f1 runnable [0x7cfbf000. .0x7cfbfa70] at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read1(BufferedInputStream.java:256) at java.io.BufferedInputStream.read(BufferedInputStream.java:313) - locked 0x95947c70 (a java.io.BufferedInputStream) at org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:626) at org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:564) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:691) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595) Due to the large number of machines involved and the high number of client requests, it is impossible to see how such a situation evolves. We have ruled out lengthy garbage collection pauses (CMS collector is enabled). There is no obviously relevant information in the logfiles. Usually, the situation can be resolved by restarting Apache and/or (some) Tomcat servers, which makes DOS attacks unlikely, IMO. Has anyone seen this situation before? Any ideas what could be the problem, and how to resolve it? Any idea how to gain more information? Thanks, Peter -- Peter Conrad Tivano Software GmbH Bahnhofstr. 18 63263 Neu-Isenburg Tel: 06102 / 8099070 Fax: 06102 / 8099071 HRB 11680, AG Offenbach/Main Geschäftsführer: Martin Apel - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
How to install Tomcat 5.5.28 32-bit version on Windows 64-bit version?
The Tomcat 5.5.28 Installer (.exe) for Windows detect and install the 64-bit version of Tomcat if 64-bit version of Windows is installed. How to install Tomcat 5.5.28 32-bit version on Windows 64-bit version? (Windows Server 2003 R2 Standard x64 Edition). - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Can Tomcat be configured to fail to start if a webapp fails to start?
Hello, I'd like to configure Tomcat 5.5 to fail to start if any of its webapps fail to start. Is that possible? I can't find any configuration element in the documentation that suggestions that this can be done. Tomcat is just a small part of our system, and our start up sequence automatically aborts if any component fails to start. However, Tomcat generally always succeeds, even if one or more of the webapps it is running fails. You then only discover something is wrong when you hit a particular webpage. Thanks, Chris.
Tomcat Startup Error on IBM AIX 5.3 after Cluster enable in server.xml
Dear all, I am getting the below error during Tomcat-5.5.12 Startup on IBM AIX 5.3 after enabling the Cluster configuration in server.xml : Oct 14, 2009 2:31:58 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster start INFO: Cluster is about to start Oct 14, 2009 2:31:58 PM org.apache.catalina.cluster.tcp.ReplicationTransmitter start INFO: Start ClusterSender at cluster Catalina:type=Cluster,host=localhost with name Catalina:type=ClusterSender,host=localhost Oct 14, 2009 2:31:59 PM org.apache.catalina.cluster.tcp.SimpleTcpCluster start SEVERE: Unable to start cluster. java.net.SocketException: The socket name is not available on this system. at java.net.PlainDatagramSocketImpl.join(Native Method) at java.net.PlainDatagramSocketImpl.join(PlainDatagramSocketImpl.java:280) at java.net.MulticastSocket.joinGroup(MulticastSocket.java:299) at org.apache.catalina.cluster.mcast.McastServiceImpl.start(McastServiceImp l.java:174) at org.apache.catalina.cluster.mcast.McastService.start(McastService.java:3 13) at org.apache.catalina.cluster.mcast.McastService.start(McastService.java:2 60) at org.apache.catalina.cluster.tcp.SimpleTcpCluster.start(SimpleTcpCluster. java:765) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1002) at org.apache.catalina.core.StandardHost.start(StandardHost.java:718) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1012) at org.apache.catalina.core.StandardEngine.start(StandardEngine.java:442) at org.apache.catalina.core.StandardService.start(StandardService.java:450) at org.apache.catalina.core.StandardServer.start(StandardServer.java:680) at org.apache.catalina.startup.Catalina.start(Catalina.java:536) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.jav a:79) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessor Impl.java:43) at java.lang.reflect.Method.invoke(Method.java:618) at org.apache.catalina.startup.Bootstrap.start(Bootstrap.java:275) at org.apache.catalina.startup.Bootstrap.main(Bootstrap.java:413) Oct 14, 2009 2:31:59 PM org.apache.catalina.startup.Catalina start SEVERE: Catalina.start: LifecycleException: java.net.SocketException: The socket name is not available on this system. at org.apache.catalina.cluster.tcp.SimpleTcpCluster.start(SimpleTcpCluster. java:781) at org.apache.catalina.core.ContainerBase.start(ContainerBase.java:1002) at org.apache.catalina.core.StandardHost.start(StandardHost.java:718) Any help please. Imad Hachem | Asst.Product Development Manager e-Banking Department Path Solutions Tel: +961 1 697444 ext. 222 Fax: +961 1 696744 www.path-solutions.com http://www.path-solutions.com Disclaimer [The information contained in this e-mail message and any attached files are confidential information and intended solely for the use of the individual or entity to whom they are addressed. This transmission may contain information that is privileged, confidential or exempt from disclosure under applicable law. If you have received this e-mail in error, please notify the sender immediately and delete all copies. If you are not the intended recipient, any disclosure, copying, distribution, or use of the information contained herein is STRICTLY PROHIBITED. Path Solutions accepts no responsibility for any errors, omissions, computer viruses and other defects.]
Re: Tomcat 6.0.20 always works in GMT timezone even after forcing it to use Asia/Calcutta by multiple methods.
Tomcat is not running under a security manager. So that policy entry may need to be exists, i understood now. I have tried stopping our web applications via tomcat-manager and restarted important web applications alone. But still timezone didn't reset to system timezone. Wouldn't stopping offending web applications enough for the timezone to use system configuration? Is it possible to restrict just timezone over-riding permission from web application instead of first listing what are all permissions that should be granted for a web application? On Mon, Oct 12, 2009 at 8:32 PM, George Sexton geor...@mhsoftware.comwrote: -Original Message- From: raghu gs [mailto:iamra...@gmail.com] Sent: Monday, October 12, 2009 5:18 AM To: Tomcat Users List Subject: Re: Tomcat 6.0.20 always works in GMT timezone even after forcing it to use Asia/Calcutta by multiple methods. java.util.PropertyPermission user.timezone, write; line not there in catalina.policy file. Should this line not need to be present for granting the pernission? The reference to catalina.policy only applies if you are running under a security manager. Are you running under a security manager? What is the code for restricting the timezone overide permission in catalina.policy file? Moreover it was misundstanding between our developers, Nobody said that kernel tomcat mismatch might be the cause of the problem. TZData is also up-to-date. Regards George Sexton MH Software, Inc. http://www.mhsoftware.com/ Voice: 303 438 9585 - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat 6.0.20 always works in GMT timezone even after forcing it to use Asia/Calcutta by multiple methods.
I'm not sure if it will help with your particular version of java/linux but I had a similar problem with my java/linux and found that in my case the file /etc/sysconfig/clock was one of the places the JVM looked for a timezone. Setting environment variables and options had no effect, the thing that worked for me was changing the clock file. Check /etc/sysconfig/clock and see what it says, if there is a timezone set in there try removing it. It took me quite a while to figure this out, going to the extreme of writing a play java program and running it with strace and then I saw that it opened the clock file... Good luck, -Tim raghu gs wrote: Tomcat is not running under a security manager. So that policy entry may need to be exists, i understood now. I have tried stopping our web applications via tomcat-manager and restarted important web applications alone. But still timezone didn't reset to system timezone. Wouldn't stopping offending web applications enough for the timezone to use system configuration? Is it possible to restrict just timezone over-riding permission from web application instead of first listing what are all permissions that should be granted for a web application? On Mon, Oct 12, 2009 at 8:32 PM, George Sexton geor...@mhsoftware.comwrote: -Original Message- From: raghu gs [mailto:iamra...@gmail.com] Sent: Monday, October 12, 2009 5:18 AM To: Tomcat Users List Subject: Re: Tomcat 6.0.20 always works in GMT timezone even after forcing it to use Asia/Calcutta by multiple methods. java.util.PropertyPermission user.timezone, write; line not there in catalina.policy file. Should this line not need to be present for granting the pernission? The reference to catalina.policy only applies if you are running under a security manager. Are you running under a security manager? What is the code for restricting the timezone overide permission in catalina.policy file? Moreover it was misundstanding between our developers, Nobody said that kernel tomcat mismatch might be the cause of the problem. TZData is also up-to-date. Regards George Sexton MH Software, Inc. http://www.mhsoftware.com/ Voice: 303 438 9585 - 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: Tomcat 5.5.26 hangs
conrad-tomcat.users.2...@tivano.de wrote: Hi, our customer is running a cluster of tomcat servlet engines. On these, our web application is running. The basic setup is Loadbalancer --- Apache 1.3.x with mod_jk --- Tomcat with 2-3 Apache servers and 30 Tomcat instances bundled into clusters of 3-5 instances each. Apache + Tomcat servers are running on recent SUN multi-core machines under Solaris. The basic setup hasn't changed much over the past few years, except occasional updates to soft- and hardware, and the number of Tomcat instances has been increasing steadily. Currently, they're using Tomcat-5.5.26 on SUN's jdk 1.5.0_10 (64 bit) and mod_jk 1.2.28. Over the years, we have seen the same situation since before Tomcat-5.5.12. Most of the time, things work nicely. Occasionally, though, the whole system comes to a complete halt. A post-mortem thread dump shows all (!) worker threads on all instances waiting for input from the Apache servers, e. g.: TP-Processor2432 daemon prio=10 tid=0x00b2f258 nid=0x9f1 runnable [0x7cfbf000. .0x7cfbfa70] at java.net.SocketInputStream.socketRead0(Native Method) at java.net.SocketInputStream.read(SocketInputStream.java:129) at java.io.BufferedInputStream.fill(BufferedInputStream.java:218) at java.io.BufferedInputStream.read1(BufferedInputStream.java:256) at java.io.BufferedInputStream.read(BufferedInputStream.java:313) - locked 0x95947c70 (a java.io.BufferedInputStream) at org.apache.jk.common.ChannelSocket.read(ChannelSocket.java:626) at org.apache.jk.common.ChannelSocket.receive(ChannelSocket.java:564) at org.apache.jk.common.ChannelSocket.processConnection(ChannelSocket.java:691) at org.apache.jk.common.ChannelSocket$SocketConnection.runIt(ChannelSocket.java:895) at org.apache.tomcat.util.threads.ThreadPool$ControlRunnable.run(ThreadPool.java:689) at java.lang.Thread.run(Thread.java:595) Due to the large number of machines involved and the high number of client requests, it is impossible to see how such a situation evolves. We have ruled out lengthy garbage collection pauses (CMS collector is enabled). There is no obviously relevant information in the logfiles. Usually, the situation can be resolved by restarting Apache and/or (some) Tomcat servers, which makes DOS attacks unlikely, IMO. Has anyone seen this situation before? Any ideas what could be the problem, and how to resolve it? Have you tried JkOptions +DisableReuse Any idea how to gain more information? Jk debug logs wireshark compare httpd and Tomcat access logs Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
ClassNotFoundException when deserializing persisted sessions
Hi all, I've come across a problem that I haven't found a clear solution yet (despite some extensive time spent on google books). If you persist sessions for example with FileStore, everything is fine dandy except for when you start putting custom objects in the session: when I do so, I get a ClassNotFoundException when tomcat tries to deserialize the session. I think that this happens because the Shared class loader doesn't know about the classes in your webapp and in fact I've managed to make it work by deploying my classes under $CATALINA_BASE/shared/lib. This is not an option in one of my webapps though. Is there any way to solve this under Tomcat 5.5 or Tomcat 6 by configuration? What I mean is: is there any way to force the usage of a specific webapp classloader when dealing with persisted sessions? Thanks in advance, MM - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat 6.0.20 always works in GMT timezone even after forcing it to use Asia/Calcutta by multiple methods.
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Raghu, On 10/14/2009 11:44 AM, raghu gs wrote: Tomcat is not running under a security manager. So that policy entry may need to be exists, i understood now. Yes. I have tried stopping our web applications via tomcat-manager and restarted important web applications alone. But still timezone didn't reset to system timezone. It never will: Tomcat does not change the time zone. If an application does, it changes until another piece of code changes it. If you want to find out which webapp is doing this you'll need to: 1. Shut down Tomcat 2. Move all webapps out of any auto-deployment directories (like CATALINA_BASE/webapps, for instance) 3. Move all deployment files out of CATALINA_BASE/conf/[service]/[host] (to avoid any webapps being deployed at all) 4. Verify that your JVM is now running with the correct TimeZone (you may want to deploy a simple index.jsp in webapps/ROOT to verify this) 5. One at a time, deploy the webapps you want to run on Tomcat: 5a. Repeat step 4. If step 4 shows the wrong TimeZone, you've found your problematic webapp. There is another option: run Tomcat under a SecurityManager with the rights to set user.timezone revoked, and then see which webapp throws an appropriate exception. This is basic debugging, man. Wouldn't stopping offending web applications enough for the timezone to use system configuration? No. Is it possible to restrict just timezone over-riding permission from web application instead of first listing what are all permissions that should be granted for a web application? No. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkrWAQsACgkQ9CaO5/Lv0PDsWwCdHfEkGInUTJq3D/HLf2E75mcH zKwAnjLqCoyd/tVrbon/jJrpLWRpMN7i =6q3z -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: ClassNotFoundException when deserializing persisted sessions
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Manlio, On 10/14/2009 12:30 PM, Manlio Malaidini wrote: I've come across a problem that I haven't found a clear solution yet (despite some extensive time spent on google books). If you persist sessions for example with FileStore, everything is fine dandy except for when you start putting custom objects in the session: when I do so, I get a ClassNotFoundException when tomcat tries to deserialize the session. Is this happening in production,or only in development? I ask because each Class has a serialVersionId which essentially versions the Class. If you recompile the Class after making changes to any method signature, member, or even the order of these items, the version id changes and de-serialization fails. This often happens when you are working on the FooBean class, which has ab object stored in the session. You redeploy your webapp after deploying your new code, and Tomcat fails to re-load the session data because there is a Class mismatch between the data being loaded from the session and the Class available to the JVM. Could this be your problem? I think that this happens because the Shared class loader doesn't know about the classes in your webapp and in fact I've managed to make it work by deploying my classes under $CATALINA_BASE/shared/lib. I have persistent sessions working just fine in Tomcat 5.5.26 with custom objects defined only in WEB-INF/classes. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkrWAgwACgkQ9CaO5/Lv0PBeugCfWi9lPn+n8SHgALK/e8rfIHMp DQkAn2pY1+0goRvYB4M1WucS/VI8Kv4W =3FJZ -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Tomcat Startup Error on IBM AIX 5.3 after Cluster enable in server.xml
From: Imad Hachem [mailto:ihac...@lb.path-solutions.com] Subject: Tomcat Startup Error on IBM AIX 5.3 after Cluster enable in server.xml I am getting the below error during Tomcat-5.5.12 Startup on IBM AIX 5.3 after enabling the Cluster configuration in server.xml : You might want to try with a version of Tomcat that's a bit newer than your four-year-old one. Is multicasting enabled on your platform? (I have no idea how that's done on AIX.) - 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: Tomcat 5.5.26 hangs
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Peter, On 10/14/2009 10:48 AM, conrad-tomcat.users.2...@tivano.de wrote: Currently, they're using Tomcat-5.5.26 on SUN's jdk 1.5.0_10 (64 bit) and mod_jk 1.2.28. Over the years, we have seen the same situation since before Tomcat-5.5.12. Most of the time, things work nicely. Occasionally, though, the whole system comes to a complete halt. A post-mortem thread dump shows all (!) worker threads on all instances waiting for input from the Apache servers, e. g.: TP-Processor2432 daemon prio=10 tid=0x00b2f258 nid=0x9f1 runnable [0x7cfbf000. .0x7cfbfa70] at java.net.SocketInputStream.socketRead0(Native Method) Although those threads say runnable, they're really blocked at the OS level waiting to receive data from the mod_jk connector. These threads are actually idle, waiting for requests from httpd to come through the pipe. You can probably confirm this by checking with 'top' to see that Tomcat isn't using any CPU time, because it's just waiting. Usually, the situation can be resolved by restarting Apache and/or (some) Tomcat servers, which makes DOS attacks unlikely, IMO. If restarting Apache httpd solves the problem, this may be an httpd problem. Is it feasible to remove httpd from the equation? Tomcat 5.5 can easily compete with httpd for static file delivery if that's all your using it for. If you could post your httpd configuration for your worker/prefork stuff AND your mod_jk configuration, it might be helpful. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkrWAy4ACgkQ9CaO5/Lv0PA/RwCgq/EWFWUKJYWpU8Zz6d/u9K51 ZeMAnjvC9WAqvH6SyziVKllPCaFmcHF0 =wTyU -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: ClassNotFoundException when deserializing persisted sessions
On Wed, Oct 14, 2009 at 12:53 PM, Christopher Schultz ch...@christopherschultz.net wrote: Is this happening in production,or only in development? Development. A couple of words about my environment: *) Mac OS/X 10.6.1 *) JDK 1.6.0_15 *) Tomcat 5.5.27 I ask because each Class has a serialVersionId which essentially versions the Class. If you recompile the Class after making changes to any method signature, member, or even the order of these items, the version id changes and de-serialization fails. This often happens when you are working on the FooBean class, which has ab object stored in the session. You redeploy your webapp after deploying your new code, and Tomcat fails to re-load the session data because there is a Class mismatch between the data being loaded from the session and the Class available to the JVM. Could this be your problem? I don't think so, because I don't redeploy anything before receiving this exception: SEVERE: Session: 6D026DD0479F48B331D28EE8325095BB; java.lang.ClassNotFoundException: com.whatever.spikes.session.CustomClass at java.net.URLClassLoader$1.run(URLClassLoader.java:200) at java.security.AccessController.doPrivileged(Native Method) at java.net.URLClassLoader.findClass(URLClassLoader.java:188) at java.lang.ClassLoader.loadClass(ClassLoader.java:319) at java.lang.ClassLoader.loadClass(ClassLoader.java:254) at java.lang.ClassLoader.loadClassInternal(ClassLoader.java:399) at java.lang.Class.forName0(Native Method) at java.lang.Class.forName(Class.java:247) at java.io.ObjectInputStream.resolveClass(ObjectInputStream.java:604) at org.apache.catalina.util.CustomObjectInputStream.resolveClass(CustomObjectInputStream.java:78) at java.io.ObjectInputStream.readNonProxyDesc(ObjectInputStream.java:1575) at java.io.ObjectInputStream.readClassDesc(ObjectInputStream.java:1496) at java.io.ObjectInputStream.readOrdinaryObject(ObjectInputStream.java:1732) at java.io.ObjectInputStream.readObject0(ObjectInputStream.java:1329) at java.io.ObjectInputStream.readObject(ObjectInputStream.java:351) at org.apache.catalina.session.StandardSession.readObject(StandardSession.java:1407) at org.apache.catalina.session.StandardSession.readObjectData(StandardSession.java:931) at org.apache.catalina.session.FileStore.load(FileStore.java:296) at org.apache.catalina.session.StoreBase.processExpires(StoreBase.java:194) at org.apache.catalina.session.PersistentManagerBase.processExpires(PersistentManagerBase.java:553) at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:664) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1285) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1579) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.run(ContainerBase.java:1559) at java.lang.Thread.run(Thread.java:637) I have persistent sessions working just fine in Tomcat 5.5.26 with custom objects defined only in WEB-INF/classes. Are you saying that you're using FileStore or PersistentStore with a configuration like the following ones and it just works? Context path=/Spikes reloadable=true docBase=/Users/mman/Workspaces/Spikes workDir=/Users/mman/Workspaces/Spikes/work Manager className=org.apache.catalina.session.PersistentManager maxIdleBackup=0 Store className=org.apache.catalina.session.FileStore directory=/Users/mman/tmp/tomcat-sessions/ /Manager /Context If so, then I'm wondering what am I doing wrong... Thanks MM - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Can Tomcat be configured to fail to start if a webapp fails to start?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Chris, On 10/14/2009 11:11 AM, Chris Wiggins wrote: I'd like to configure Tomcat 5.5 to fail to start if any of its webapps fail to start. Is that possible? I can't find any configuration element in the documentation that suggestions that this can be done. I don't believe Tomcat itself has any feature to do this, but you could probably modify Tomcatg fairly trivially to do this. To find out what Tomcat is doing on start-up (where, I believe, a single thread is responsible for deploying /all/ webapps, one-at-a-time, in arbitrary order), just add a ServletContextListener to your webapp and implement this method: public void contextInitialized(ServletContextEvent e) { new Throwable( CONTEXT STARTING =).printStackTrace(); } This will emit a stack trace to stdout, which usually ends up in logs/catalina.out. You'll see the full stack trace, from the Bootstrap class all the way through your own code. You should be able to use that to find an appropriate place in the Tomcat code to shutdown the JVM if one of the webapps fails to load. Tomcat is just a small part of our system, and our start up sequence automatically aborts if any component fails to start. However, Tomcat generally always succeeds, even if one or more of the webapps it is running fails. You then only discover something is wrong when you hit a particular webpage. Even if you implement the above strategy, you might still not get what you want: how are you starting Tomcat? bin/catalina.sh puts Tomcat into the background when it starts, so you won't be able to get any status information from the process itself. What is your plan for checking to see if Tomcat exited at all, with or without an error code? - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkrWEpMACgkQ9CaO5/Lv0PDwKQCeOIkl+CU/QxQcMPhwj3r+iuYy e78AoKYnwbRQ1qfT6njX9AczbcGbrQDI =d0nd -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: ClassNotFoundException when deserializing persisted sessions
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Manlio, On 10/14/2009 1:59 PM, Manlio Malaidini wrote: On Wed, Oct 14, 2009 at 12:53 PM, Christopher Schultz ch...@christopherschultz.net wrote: Is this happening in production,or only in development? Development. Could [serialVersionId] be your problem? I don't think so, because I don't redeploy anything before receiving this exception: SEVERE: Session: 6D026DD0479F48B331D28EE8325095BB; java.lang.ClassNotFoundException: com.whatever.spikes.session.CustomClass [snip] at org.apache.catalina.session.FileStore.load(FileStore.java:296) at org.apache.catalina.session.StoreBase.processExpires(StoreBase.java:194) at org.apache.catalina.session.PersistentManagerBase.processExpires(PersistentManagerBase.java:553) at org.apache.catalina.session.ManagerBase.backgroundProcess(ManagerBase.java:664) at org.apache.catalina.core.ContainerBase.backgroundProcess(ContainerBase.java:1285) at org.apache.catalina.core.ContainerBase$ContainerBackgroundProcessor.processChildren(ContainerBase.java:1570) [snip] I have persistent sessions working just fine in Tomcat 5.5.26 with custom objects defined only in WEB-INF/classes. Are you saying that you're using FileStore or PersistentStore with a configuration like the following ones and it just works? Oh, it looks like you are using explicit session persistence for /in-use/ sessions. I apologize for confusing the issue: I am using Tomcat's simple session-persistence-during-restart capabilities, which may or may not use the same code. Context path=/Spikes reloadable=true docBase=/Users/mman/Workspaces/Spikes workDir=/Users/mman/Workspaces/Spikes/work Manager className=org.apache.catalina.session.PersistentManager maxIdleBackup=0 Store className=org.apache.catalina.session.FileStore directory=/Users/mman/tmp/tomcat-sessions/ /Manager /Context This configuration looks fine to me, though I don't have any experience with active-session persistence. Does this just happen randomly, without any code updates or anything like that? - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkrWFNYACgkQ9CaO5/Lv0PBRggCfZ5VFjTtq20YJ/sZT6Ra1QSdV e2QAniUa/qHFuNA+kLju6WvQso+AUrTe =gpKj -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: changing default ROOT webapp in Tomcat 6.0.18
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Pulak, On 10/14/2009 8:03 AM, pulak wrote: SpY0o2 wrote: hello, I've been trying to deploy an application to Tomcat 6.0.18. I would like to make it my default ROOT app (without renaming the app to ROOT), so that I can access my app by entering http://localhost:8080/ instead of http://localhost:8080/myApps Thanks. The easiest possible thing is to put an element in server.xml file in /conf directory. It would be better to move the webapp's META-INF/context.xml file into conf/[service]/[hostname]/ROOT.xml. That way, you don't have to modify server.xml for any reason. Just remember to put your WAR file /outside/ of any of Tomcat's auto-deploy webapps directories (such as 'webapps' by default) or your webapp will be deployed twice. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkrWFXkACgkQ9CaO5/Lv0PD7mgCfel/jyhKUBnv/gXK1nK94HKVg SMEAoIbK6LWIXfHwf4rz70ROVdAUWi/a =AgLA -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
DBCP woes (running out of cursors).
Redhat 5.2 Server Java: Sun JDK 1.6.0_16 (64-bit) Tomcat 6.0.20 (and whichever version of DBCP that includes) Oracle 10g (10.2.0.3) JDBC: ojdbc14.jar I've been trying to convert an old J2EE application to use DBCP connection pools from an old custom connection pool class (not a DataSource interface). The old pool worked acceptably, and DBCP seemed to work fine in development, but then I got it into a test environment and had a bunch of people beating on it and I started running out of cursors. Looking through the old code, it turns out that the old pool manager, when freeing a Connection, had kept track of when it created that Connection and if it was more than 120 seconds old, it closed it and made a new one. As a result, a given Connection wouldn't hit the cursor limit because it wouldn't get reused for more than 2 minutes. So, I think: We must have code that's not closing ResultSet/Statement objects so I go off looking for them. With a little research, I come up with queries like this: SELECT a.sid, b.status, b.osuser, b.machine, to_char(b.logon_time, 'dd-mon- hh24:mi:ss') logon_time, a.user_name, a.sql_id, a.sql_text FROM v$session b, v$open_cursor a WHERE a.sid = b.sid AND a.user_name = 'APPUSERNAME' ORDER BY upper(a.sql_text), b.status; SELECT count(a.sql_text) count, a.sql_text FROM v$session b, v$open_cursor a WHERE a.sid = b.sid AND a.user_name = 'APPUSERNAME' AND b.status = 'INACTIVE' GROUP BY a.sql_text ORDER BY count desc, upper(a.sql_text); I run these against production (which is still using the old pools) and I find all sorts of queries lying around on inactive sessions, which I'm guessing are Connections that were closed. I then start tracking the SQL down and every single one has an iron clad close() call in a finally clause. There is absolutely no way the close() is not being called on the Statement objects. Many of them even explicitly close() the ResultSet objects even though that should be handled by closing the Statement objects. These close() calls are happening immediately after the data is gathered from the ResultSet's. I then went looking in active sessions in the test environment and it's the same thing. I can't find any lingering cursors for SQL that doesn't have a Statement.close() call that's guaranteed to run. I've got lots of open cursors. I can't explain why. The config I'm using for DBCP (other than connection info): maxActive=245 maxIdle=16 validationQuery=SELECT 1 FROM dual poolPreparedStatements=true accessToUnderlyingConnectionAllowed=true Since I've eliminated the possibility that close() is not being called on Statement/ResultSet's, I'm wondering a number of things: 1.Could this be a bug in the Oracle JDBC driver? 2. Should I change parameters for DBCP? - Should I get rid of poolPreparedStatements? Note: That noticeably hurts performance. - Should I use timeBetweenEvictionRunsMillis - What's an eviction run? - Should I reduce maxIdle? 3. Is there a newer version of DBCP than the one that comes with Tomcat that might mitigate this problem and is it a good idea to drop that into Tomcat? Any useful advice would be appreciated. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: ClassNotFoundException when deserializing persisted sessions
On Wed, Oct 14, 2009 at 2:13 PM, Christopher Schultz ch...@christopherschultz.net wrote: Oh, it looks like you are using explicit session persistence for /in-use/ sessions. Indeed. I apologize for confusing the issue: I am using Tomcat's simple session-persistence-during-restart capabilities, which may or may not use the same code. Oh, don't worry, no need to apologize. Yes, I believe that it's different Tomcat's code. This configuration looks fine to me, though I don't have any experience with active-session persistence. Does this just happen randomly, without any code updates or anything like that? It happens every time: I just interact with the application, wait up to 1 minute and bang, got the exception. MM - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: IIS ISAPI_redirector
On 14.10.2009 15:31, Peter Crowther wrote: 2009/10/14 Rainer Jung rainer.j...@kippdata.de On 14.10.2009 13:47, Bret Unbehagen wrote: I have a Windows 2003 Server with the ISAPI_Redirector installed. I want to stop it from passing the client IP to Tomcat. I have found http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html, where is states that I can set JK_REMOTE_USER. I have tried setting an environment variables and placing the variable in the config files. I am guessing that ISAPI Redirectors don't support this. Can someone confirm this for me? Also can someone help me block the client IP from Tomcat? Unfortunately the feature only exists for Apache. The ISAPI Redirector takes the data from the server variables REMOTE_ADDR and REMOTE_HOST. You can check the IIS docs, whether IIS allows you to overwrite them in some simple way, but I don't know. Or you could go the long way round and compile your own version of the redirector - this may not be the easiest way round the problem, however! Excellent point. One way of scratching your itch ;) - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: changing default ROOT webapp in Tomcat 6.0.18
Hi, I have been watching this thread since I am interested in how to do this. I have a small web site using just html images css so I do not use a WAR for deployment just replace/add/delete the files. So would modifying the server.xml be the recommended method? Thanks, -Tony --- On Wed, 10/14/09, Christopher Schultz ch...@christopherschultz.net wrote: From: Christopher Schultz ch...@christopherschultz.net Subject: Re: changing default ROOT webapp in Tomcat 6.0.18 To: Tomcat Users List users@tomcat.apache.org Date: Wednesday, October 14, 2009, 12:16 PM -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Pulak, On 10/14/2009 8:03 AM, pulak wrote: SpY0o2 wrote: hello, I've been trying to deploy an application to Tomcat 6.0.18. I would like to make it my default ROOT app (without renaming the app to ROOT), so that I can access my app by entering http://localhost:8080/ instead of http://localhost:8080/myApps Thanks. The easiest possible thing is to put an element in server.xml file in /conf directory. It would be better to move the webapp's META-INF/context.xml file into conf/[service]/[hostname]/ROOT.xml. That way, you don't have to modify server.xml for any reason. Just remember to put your WAR file /outside/ of any of Tomcat's auto-deploy webapps directories (such as 'webapps' by default) or your webapp will be deployed twice. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkrWFXkACgkQ9CaO5/Lv0PD7mgCfel/jyhKUBnv/gXK1nK94HKVg SMEAoIbK6LWIXfHwf4rz70ROVdAUWi/a =AgLA -END PGP SIGNATURE- - 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: changing default ROOT webapp in Tomcat 6.0.18
From: Tony Anecito [mailto:adanec...@yahoo.com] Subject: Re: changing default ROOT webapp in Tomcat 6.0.18 So would modifying the server.xml be the recommended method? Modifying server.xml is NEVER the recommended method. The best way is to simply name the directory ROOT, and you're done. - 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: IIS ISAPI_redirector
I that thought about that, however my knowledge of C is a bit rusty. However I did I could use a IIS proxy like http://code.google.com/p/iisproxy/. Thanks for the help. Bret On Wed, Oct 14, 2009 at 2:30 PM, Rainer Jung rainer.j...@kippdata.dewrote: On 14.10.2009 15:31, Peter Crowther wrote: 2009/10/14 Rainer Jung rainer.j...@kippdata.de On 14.10.2009 13:47, Bret Unbehagen wrote: I have a Windows 2003 Server with the ISAPI_Redirector installed. I want to stop it from passing the client IP to Tomcat. I have found http://tomcat.apache.org/connectors-doc/generic_howto/proxy.html, where is states that I can set JK_REMOTE_USER. I have tried setting an environment variables and placing the variable in the config files. I am guessing that ISAPI Redirectors don't support this. Can someone confirm this for me? Also can someone help me block the client IP from Tomcat? Unfortunately the feature only exists for Apache. The ISAPI Redirector takes the data from the server variables REMOTE_ADDR and REMOTE_HOST. You can check the IIS docs, whether IIS allows you to overwrite them in some simple way, but I don't know. Or you could go the long way round and compile your own version of the redirector - this may not be the easiest way round the problem, however! Excellent point. One way of scratching your itch ;) - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: changing default ROOT webapp in Tomcat 6.0.18
So if I create a directory named ROOT on say a network drive (or even a logical drive on the same server as Tomcat) Tomcat will find it without any modification to any config files? -Tony --- On Wed, 10/14/09, Caldarale, Charles R chuck.caldar...@unisys.com wrote: From: Caldarale, Charles R chuck.caldar...@unisys.com Subject: RE: changing default ROOT webapp in Tomcat 6.0.18 To: Tomcat Users List users@tomcat.apache.org Date: Wednesday, October 14, 2009, 12:45 PM From: Tony Anecito [mailto:adanec...@yahoo.com] Subject: Re: changing default ROOT webapp in Tomcat 6.0.18 So would modifying the server.xml be the recommended method? Modifying server.xml is NEVER the recommended method. The best way is to simply name the directory ROOT, and you're done. - 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: changing default ROOT webapp in Tomcat 6.0.18
From: Tony Anecito [mailto:adanec...@yahoo.com] Subject: RE: changing default ROOT webapp in Tomcat 6.0.18 So if I create a directory named ROOT on say a network drive (or even a logical drive on the same server as Tomcat) Tomcat will find it without any modification to any config files? Can't put it in just any arbitrary location; it must be under the Host appBase directory. If you want your webapp in a completely arbitrary place, you should use the conf/Catalina/[host]/ROOT.xml approach, with that file containing a Context element with a docBase attribute pointing to the arbitrary 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. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: DBCP woes (running out of cursors).
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Bill, On 10/14/2009 2:17 PM, Bill Davidson wrote: Redhat 5.2 Server Wow. I've been trying to convert an old J2EE application to use DBCP connection pools from an old custom connection pool class (not a DataSource interface). I've moved a couple of things around, here. Sorry if it's disorienting. maxActive=245 maxIdle=16 validationQuery=SELECT 1 FROM dual poolPreparedStatements=true accessToUnderlyingConnectionAllowed=true This config looks fine, though the maxIdle might be a little low. IIRC, setting-up Oracle connections is a time-consuming operation. If you really need 245 connections, perhaps you might want to increase the idle count to improve the performance of your webapp when demand suddenly hits a mostly-idle server. The old pool worked acceptably, and DBCP seemed to work fine in development, but then I got it into a test environment and had a bunch of people beating on it and I started running out of cursors. Looking through the old code, it turns out that the old pool manager, when freeing a Connection, had kept track of when it created that Connection and if it was more than 120 seconds old, it closed it and made a new one. Similar capability is found in DBCP in the form of the removeAbandoned and logAbandoned configuration parameters. See the configuration for DBCP on this page: http://commons.apache.org/dbcp/configuration.html /Important note:/ the removeAbandoned configuration parameter will merely remove the discarded connection from the pool. It will /not/ close the connection after that timeout, so it won't solve your problem: it will only help you find the problems in your webapp. As a result, a given Connection wouldn't hit the cursor limit because it wouldn't get reused for more than 2 minutes. So, I think: We must have code that's not closing ResultSet/Statement objects so I go off looking for them. I wrote this a while back, which may be worth reading: http://blog.christopherschultz.net/?p=68 With a little research, I come up with queries like this: SELECT a.sid, b.status, b.osuser, b.machine, to_char(b.logon_time, 'dd-mon- hh24:mi:ss') logon_time, a.user_name, a.sql_id, a.sql_text FROM v$session b, v$open_cursor a WHERE a.sid = b.sid AND a.user_name = 'APPUSERNAME' ORDER BY upper(a.sql_text), b.status; SELECT count(a.sql_text) count, a.sql_text FROM v$session b, v$open_cursor a WHERE a.sid = b.sid AND a.user_name = 'APPUSERNAME' AND b.status = 'INACTIVE' GROUP BY a.sql_text ORDER BY count desc, upper(a.sql_text); I run these against production (which is still using the old pools) and I find all sorts of queries lying around on inactive sessions, which I'm guessing are Connections that were closed. I don't know a thing about Oracle-specific queries, but what does: v$open_cursor a mean? Does this explicitly open a new cursor, or use an existing one called a? I then start tracking the SQL down and every single one has an iron clad close() call in a finally clause. There is absolutely no way the close() is not being called on the Statement objects. Many of them even explicitly close() the ResultSet objects even though that should be handled by closing the Statement objects. Technically speaking, the JDBC specification requires that calling Connection.close() also close any Statement (and therefore ResultSet) objects that were opened as well. The lines become blurred a bit when you're talking about pooled connections, because Connection.close() doesn't really get called... it's a grey area in the spec if you ask me, but I'd prefer that a pooled connection act like a non-pooled connection in this case, but there's no recycle or reset method in the java.sql.Connection class, and calling Connection.close() on the actual connection is not appropriate (since it's pooled) so there may be no way to actually implement this mimicry. These close() calls are happening immediately after the data is gathered from the ResultSet's. Can you post an example of your finally blocks? If each xyz.close() isn't in a try/catch block of its own, it could potentially fail to return the Connection to the pool. In this case, logAbandoned will help you a lot. I recommend enabling that setting even in production, especially because that's where it's easiest to exercise your webapp's DB access code. I then went looking in active sessions in the test environment and it's the same thing. I can't find any lingering cursors for SQL that doesn't have a Statement.close() call that's guaranteed to run. I've got lots of open cursors. I can't explain why. Hmm. Since I've eliminated the possibility that close() is not being called on Statement/ResultSet's, I'm wondering a number of things: 1. Could this be a bug in the Oracle
Re: ClassNotFoundException when deserializing persisted sessions
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Manlio, On 10/14/2009 2:30 PM, Manlio Malaidini wrote: On Wed, Oct 14, 2009 at 2:13 PM, Christopher Schultz ch...@christopherschultz.net wrote: Oh, it looks like you are using explicit session persistence for /in-use/ sessions. Indeed. I apologize for confusing the issue: I am using Tomcat's simple session-persistence-during-restart capabilities, which may or may not use the same code. Oh, don't worry, no need to apologize. Yes, I believe that it's different Tomcat's code. This configuration looks fine to me, though I don't have any experience with active-session persistence. Does this just happen randomly, without any code updates or anything like that? It happens every time: I just interact with the application, wait up to 1 minute and bang, got the exception. Hmm... would you be willing to hack Tomcat's code a bit? If you modify the method that is trying to load the objects from the FileStore, you can probably ask it what the thread's context ClassLoader is... it should be the same as your webapp's ClassLoader, and it should be being used to load those classes. You might want to file a bugzilla entry for this, or look to see if one exists like this and perhaps has a solution. I can't imagine that Tomcat has a bug and you're the only one to find out about it, but someone's got to be the first one to report a problem that exists, right? - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkrWH+QACgkQ9CaO5/Lv0PDaxACfQfoHlgFKJEEXoXqy4Pt9OMNX NeMAn3n8RrU/EFqX0oc8wvxSjeRpJRWh =MbUw -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: How to install Tomcat 5.5.28 32-bit version on Windows 64-bit version?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Vadim, On 10/14/2009 11:04 AM, Vadim Volkov wrote: The Tomcat 5.5.28 Installer (.exe) for Windows detect and install the 64-bit version of Tomcat if 64-bit version of Windows is installed. Tomcat itself is neither 32-bit nor 64-bit. The only components that are 32- or 64-bit are the JVM and the service loader, and they must be matched to each other. Are you using 64-bit JVM? If so, then you must use the 64-bit service loader. Are you using 32-bit JVM? If so, then you must use the 32-bit service loader. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkrWIKsACgkQ9CaO5/Lv0PCZAACeO4KNh2Y3Fx4oRKStY8IbsXL1 RdYAoLu71EOOwV2S0/bLvkMdwKj3OyZc =jfgL -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: changing default ROOT webapp in Tomcat 6.0.18
Perfect. I was just specifying another location because some users/companies may have a standard for site files location that does not match out of the box settings for Tomcat. Best Regards, -Tony --- On Wed, 10/14/09, Caldarale, Charles R chuck.caldar...@unisys.com wrote: From: Caldarale, Charles R chuck.caldar...@unisys.com Subject: RE: changing default ROOT webapp in Tomcat 6.0.18 To: Tomcat Users List users@tomcat.apache.org Date: Wednesday, October 14, 2009, 12:57 PM From: Tony Anecito [mailto:adanec...@yahoo.com] Subject: RE: changing default ROOT webapp in Tomcat 6.0.18 So if I create a directory named ROOT on say a network drive (or even a logical drive on the same server as Tomcat) Tomcat will find it without any modification to any config files? Can't put it in just any arbitrary location; it must be under the Host appBase directory. If you want your webapp in a completely arbitrary place, you should use the conf/Catalina/[host]/ROOT.xml approach, with that file containing a Context element with a docBase attribute pointing to the arbitrary 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. - 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: DBCP woes (running out of cursors).
Christopher Schultz wrote: On 10/14/2009 2:17 PM, Bill Davidson wrote: Redhat 5.2 Server Wow. Maybe I should have said RHEL 5.2. 5.3 would be the current version, so it's actually not that old. RedHat's starting over with the numbers does get confusing. This config looks fine, though the maxIdle might be a little low. IIRC, setting-up Oracle connections is a time-consuming operation. If you really need 245 connections, perhaps you might want to increase the idle count to improve the performance of your webapp when demand suddenly hits a mostly-idle server. Usually, we don't need that many, but sometimes, we get hit really hard with a lot of traffic and do need that many. BTW, this is load balanced across 4 servers that can each do 245 connections. Similar capability is found in DBCP in the form of the removeAbandoned and logAbandoned configuration parameters. See the configuration for DBCP on this page: http://commons.apache.org/dbcp/configuration.html /Important note:/ the removeAbandoned configuration parameter will merely remove the discarded connection from the pool. It will /not/ close the connection after that timeout, so it won't solve your problem: it will only help you find the problems in your webapp. I thought that was for Connection leaks. If we had Connection leaks, then the old pools wouldn't work properly either, because the old pools only kill connections when the servlets free the Connection (the same as close() on a DBCP connection). The Connection's are being sent back to the pool, but apparently with open cursors lingering. I don't know a thing about Oracle-specific queries, but what does: v$open_cursor a mean? Does this explicitly open a new cursor, or use an existing one called a? v$cursor is a view in the Oracle data dictionary that shows currently open cursors in the current Oracle instance. The sql_text column shows the first 40-50 characters or so of SQL being executed for that cursor. It shows them for both active and inactive sessions. I'm only guessing that the inactive sessions are from Connection's that are closed without having all of their ResultSet's closed. That might be incorrect. Finding concrete information is difficult. Technically speaking, the JDBC specification requires that calling Connection.close() also close any Statement (and therefore ResultSet) objects that were opened as well. The lines become blurred a bit when you're talking about pooled connections, because Connection.close() doesn't really get called... it's a grey area in the spec if you ask me, but I'd prefer that a pooled connection act like a non-pooled connection in this case, but there's no recycle or reset method in the java.sql.Connection class, and calling Connection.close() on the actual connection is not appropriate (since it's pooled) so there may be no way to actually implement this mimicry. Maybe, but as I said, I've tracked down the SQL for all of the open cursors that don't seem to go away and they all have guaranteed close calls on the Statement's, and many also have them on the ResultSet's. A lot of the SQL is not that funky either. A lot of it is as simple as grabbing a single record SELECT * FROM some_table WHERE id = ? or a few records like SELECT * FROM some_table WHERE some_col = ?. Can you post an example of your finally blocks? If each xyz.close() isn't in a try/catch block of its own, it could potentially fail to return the Connection to the pool. In this case, logAbandoned will help you a lot. I recommend enabling that setting even in production, especially because that's where it's easiest to exercise your webapp's DB access code. Basic pattern: public Vector someFinder( Connection conn, long param ) { PreparedStatement statement = null; ResultSet rs = null; Vector result = new Vector(); try{ statement = conn.prepareStatement(SomeSQLString); statement.setLong(1, param); rs = statement.executeQuery(); while ( rs.next() ){ // findResult does the ORM in our app. result.add(findResult(rs)); } }catch ( Exception e ){ // logging, plus possible wrap-and-re-throw }finally{ // sometimes the ResultSet is explicitly closed, // other times not. It shouldn't matter. if ( rs != null ){ try{ rs.close(); }catch ( SQLException ex ){ // log it. } } // Statement's are always explicitly closed. if ( statement != null ){ try{ statement.close(); }catch ( SQLException ex ){ // log it. } } } return result; } - Should I use timeBetweenEvictionRunsMillis - What's an eviction run? It's what happens every so often to flush-out all the connections that have been (for
Re: ClassNotFoundException when deserializing persisted sessions
On Wed, Oct 14, 2009 at 3:00 PM, Christopher Schultz ch...@christopherschultz.net wrote: Hmm... would you be willing to hack Tomcat's code a bit? I would, but I'd rather not: we don't control every environment where we deploy our software, hence it may be impossible to deploy a patched version of Tomcat. If you modify the method that is trying to load the objects from the FileStore, you can probably ask it what the thread's context ClassLoader is... it should be the same as your webapp's ClassLoader, and it should be being used to load those classes. You might want to file a bugzilla entry for this, or look to see if one exists like this and perhaps has a solution. I'll check bugzilla and eventually file a bug, thanks. I can't imagine that Tomcat has a bug and you're the only one to find out about it, but someone's got to be the first one to report a problem that exists, right? True. :) OTOH, a colleague has an idea about using a lazy deserializer that should be immune to this problem. Thanks, MM - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: DBCP woes (running out of cursors).
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Bill, On 10/14/2009 5:05 PM, Bill Davidson wrote: Usually, we don't need that many [connections], but sometimes, we get hit really hard with a lot of traffic and do need that many. BTW, this is load balanced across 4 servers that can each do 245 connections. Is it possible that your server just doesn't want to allocate 245 * 4 cursors, and that you are just hitting that barrier? I don't believe the JDBC driver cares at all how many cursors are allocated, so it's unlikely to be a client-side exception being thrown (or, if you prefer, it's a server-side error being represented by a client-side exception). I thought [logAbandoned and removeAbandoned] was for Connection leaks. They are. I just thought it would be a good idea to enable these, just in case there was a case where leaks were occurring. If we had Connection leaks, then the old pools wouldn't work properly either, because the old pools only kill connections when the servlets free the Connection (the same as close() on a DBCP connection). The Connection's are being sent back to the pool, but apparently with open cursors lingering. I though you said that after a connection was checked-out for 120 seconds, it was forcibly closed by the connection pool. I don't know a thing about Oracle-specific queries, but what does: v$open_cursor a mean? Does this explicitly open a new cursor, or use an existing one called a? v$cursor is a view in the Oracle data dictionary that shows currently open cursors in the current Oracle instance. The sql_text column shows the first 40-50 characters or so of SQL being executed for that cursor. It shows them for both active and inactive sessions. I'm only guessing that the inactive sessions are from Connection's that are closed without having all of their ResultSet's closed. That might be incorrect. Finding concrete information is difficult. Oh, so this query is intended to find out what is happening on the server side, so you can see what cursors are open and what their queries are. I thought you meant that a query such as this was being executed from your webapp. Maybe, but as I said, I've tracked down the SQL for all of the open cursors that don't seem to go away and they all have guaranteed close calls on the Statement's, and many also have them on the ResultSet's. A lot of the SQL is not that funky either. A lot of it is as simple as grabbing a single record SELECT * FROM some_table WHERE id = ? or a few records like SELECT * FROM some_table WHERE some_col = ?. Do some of those methods have multiple queries being executed? If so, it's possible that one statement remains open while the second one is closed. For example: PreparedStatement ps = null; PreparedStatement ps2 = null; try { ps = conn.prepareStatement(...); ps2 = conn.prepareStatement(...); ... } finally { ps.close(); } }finally{ if ( rs != null ){ try{ rs.close(); }catch ( SQLException ex ){ // log it. } } This is perfect. I noticed that I don't see a conn.close in there (which is probably appropriate, given that the Connection object is a parameter to the method). I assume you have similar finally blocks in calling methods, right? - Should I use timeBetweenEvictionRunsMillis - What's an eviction run? It's what happens every so often to flush-out all the connections that have been (for instance) idle too long, etc. That might help. The stuff I'm finding more recently is implying to me that connections are never closed if I don't enable eviction runs. The eviction run will only to remove connections from the pool: it won't fix any resource allocation problems. Your webapp and server ought to be able to tolerate all connections being open and active at once (so, a full 245 connections in each webapp instance, and 980 connections on the server). The only thing the eviction will really help with is reducing the memory being used on both the client and server. I suppose that calling a true close() on the connection might clean-up any sloppiness going on in the client OR the server, and thus might solve your problem, but I believe it will be merely hiding the symptom, not actually solving the underlying problem. Do you have access to an Oracle DBA? They may be able to help uncover the implications of some of the queries being run... it's possible that cursors are being allocated that you didn't expect, or that aren't being closed for /other/ reasons. Good luck, - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAkrWeVsACgkQ9CaO5/Lv0PClbgCgnYUGJ/Uzh/UvTDeT8NpdzD/p 94sAoKjGV9j3GA01nbZZaBGIdFaC6nlA =9VFy -END PGP SIGNATURE- - To unsubscribe, e-mail:
RE: DBCP woes (running out of cursors).
Connection StatementHandle(this is where the READONLY/UPDATABLE/FORWARD/REVERSE cursor is defined) ResultSet close ResultSet CloseStatementHandle CloseConnection closing ResultSet closes the ResultSet only but has no effect on Statement Handle closing StatementHandle closes ResultSet and StatementHandle closing Connection closes all \ are you running as a Transaction? Begin_Transaction Select into Buffer UPDATE/DELETE/Insert with dynamic variables COMMIT will flush to disk and close all handles Rollback will restore Transaction state to before Begin_Transaction state END if you display the queries here and we can help you show how to properly structure the statements you're using Martin Gainty __ Jogi és Bizalmassági kinyilatkoztatás/Verzicht und Vertraulichkeitanmerkung/Note de déni et de confidentialité Ez az üzenet bizalmas. Ha nem ön az akinek szánva volt, akkor kérjük, hogy jelentse azt nekünk vissza. Semmiféle továbbítása vagy másolatának készítése nem megengedett. Ez az üzenet csak ismeret cserét szolgál és semmiféle jogi alkalmazhatósága sincs. Mivel az electronikus üzenetek könnyen megváltoztathatóak, ezért minket semmi felelöség nem terhelhet ezen üzenet tartalma miatt. Diese Nachricht ist vertraulich. Sollten Sie nicht der vorgesehene Empfaenger sein, so bitten wir hoeflich um eine Mitteilung. Jede unbefugte Weiterleitung oder Fertigung einer Kopie ist unzulaessig. Diese Nachricht dient lediglich dem Austausch von Informationen und entfaltet keine rechtliche Bindungswirkung. Aufgrund der leichten Manipulierbarkeit von E-Mails koennen wir keine Haftung fuer den Inhalt uebernehmen. Ce message est confidentiel et peut être privilégié. Si vous n'êtes pas le destinataire prévu, nous te demandons avec bonté que pour satisfaire informez l'expéditeur. N'importe quelle diffusion non autorisée ou la copie de ceci est interdite. Ce message sert à l'information seulement et n'aura pas n'importe quel effet légalement obligatoire. Étant donné que les email peuvent facilement être sujets à la manipulation, nous ne pouvons accepter aucune responsabilité pour le contenu fourni. Date: Wed, 14 Oct 2009 21:22:35 -0400 From: ch...@christopherschultz.net To: users@tomcat.apache.org CC: u...@commons.apache.org Subject: Re: DBCP woes (running out of cursors). -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Bill, On 10/14/2009 5:05 PM, Bill Davidson wrote: Usually, we don't need that many [connections], but sometimes, we get hit really hard with a lot of traffic and do need that many. BTW, this is load balanced across 4 servers that can each do 245 connections. Is it possible that your server just doesn't want to allocate 245 * 4 cursors, and that you are just hitting that barrier? I don't believe the JDBC driver cares at all how many cursors are allocated, so it's unlikely to be a client-side exception being thrown (or, if you prefer, it's a server-side error being represented by a client-side exception). I thought [logAbandoned and removeAbandoned] was for Connection leaks. They are. I just thought it would be a good idea to enable these, just in case there was a case where leaks were occurring. If we had Connection leaks, then the old pools wouldn't work properly either, because the old pools only kill connections when the servlets free the Connection (the same as close() on a DBCP connection). The Connection's are being sent back to the pool, but apparently with open cursors lingering. I though you said that after a connection was checked-out for 120 seconds, it was forcibly closed by the connection pool. I don't know a thing about Oracle-specific queries, but what does: v$open_cursor a mean? Does this explicitly open a new cursor, or use an existing one called a? v$cursor is a view in the Oracle data dictionary that shows currently open cursors in the current Oracle instance. The sql_text column shows the first 40-50 characters or so of SQL being executed for that cursor. It shows them for both active and inactive sessions. I'm only guessing that the inactive sessions are from Connection's that are closed without having all of their ResultSet's closed. That might be incorrect. Finding concrete information is difficult. Oh, so this query is intended to find out what is happening on the server side, so you can see what cursors are open and what their queries are. I thought you meant that a query such as this was being executed from your webapp. Maybe, but as I said, I've tracked down the SQL for all of the open cursors that don't seem to go away and they all have guaranteed close calls on the Statement's, and many also have them on the ResultSet's. A lot of the SQL is not that funky either. A lot of it is as simple as grabbing a single record SELECT * FROM some_table WHERE id = ? or a few records like SELECT * FROM
JkMount for status working not getting triggered
Hello: I am trying to enable the status page for mod_jk. I set my workers.properties file to: worker.list=tomcat,jkstatus worker.tomcat.type=ajp13 worker.tomcat.host=localhost worker.tomcat.port=8009 worker.tomcat.lbfactor=1 worker.tomcat.connection_pool_timeout=600 worker.tomcat.socket_keepalive=True worker.tomcat.socket_timeout=60 worker.jkstatus.type=status worker.jkstatus.read_only=True I then added this to my httpd.conf file in the global directives: # Mount the jk status application Location /jkstatus JkMount jkstatus Order allow,deny Allow from all /Location When I go to http://[myserver]/jkstatus I get an error that the page cannot be displayed. Also, in the httpd error_log, I see this: File does not exist: /var/www/html/jkstatus So, it looks like the JkMount is not getting triggered and Apache is looking for a file in the html directory. Any idea why this is happening? Thanks, Neil -- Neil Aggarwal, (281)846-8957, www.JAMMConsulting.com Will your e-commerce site go offline if you have a DB server failure, fiber cut, flood, fire, or other disaster? If so, ask about our geographically redundant database system. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: Tomcat is not getting shutdown
Hi Mark, Thanks for replying, I don't know how to take the thread dump how to look for non-daemon threads? - Suneel. -Original Message- From: Mark Thomas [mailto:ma...@apache.org] Sent: Wednesday, October 14, 2009 6:29 PM To: Tomcat Users List Subject: Re: Tomcat is not getting shutdown Suneel Saguturu wrote: I am facing an issue with Tomcat-5.5.27, the issue is Tomcat server is not getting shutdown. When I execute the shutdown.sh its not throwing any error/exception, but the process is still there and the another point is port everything is release only the process is not released. Take a thread dump and look for non-daemon threads. Mark - 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: Tomcat 6.0.20 always works in GMT timezone even after forcing it to use Asia/Calcutta by multiple methods.
Hi Tim Your suggestion seems interesting to some extent. One clue i got now is UTC is enabled in /etc/sysconfig/clock file. Being UTC is enabled is naturally equals to setting GMT as timezone. Please correct me if i am wrong. My question is, when i put a normal java code to display the time and timezone of the system, it just displays the timezone in IST without any problem. clock command's output returns the time in IST timezone it self. Then how come Tomcat alone can respect the UTC enablement in /etc/sysconfig/clock? Regards On Wed, Oct 14, 2009 at 9:37 PM, Timothy J Schumacher tim.schumac...@colorado.edu wrote: I'm not sure if it will help with your particular version of java/linux but I had a similar problem with my java/linux and found that in my case the file /etc/sysconfig/clock was one of the places the JVM looked for a timezone. Setting environment variables and options had no effect, the thing that worked for me was changing the clock file. Check /etc/sysconfig/clock and see what it says, if there is a timezone set in there try removing it. It took me quite a while to figure this out, going to the extreme of writing a play java program and running it with strace and then I saw that it opened the clock file... Good luck, -Tim raghu gs wrote: Tomcat is not running under a security manager. So that policy entry may need to be exists, i understood now. I have tried stopping our web applications via tomcat-manager and restarted important web applications alone. But still timezone didn't reset to system timezone. Wouldn't stopping offending web applications enough for the timezone to use system configuration? Is it possible to restrict just timezone over-riding permission from web application instead of first listing what are all permissions that should be granted for a web application? On Mon, Oct 12, 2009 at 8:32 PM, George Sexton geor...@mhsoftware.com wrote: -Original Message- From: raghu gs [mailto:iamra...@gmail.com] Sent: Monday, October 12, 2009 5:18 AM To: Tomcat Users List Subject: Re: Tomcat 6.0.20 always works in GMT timezone even after forcing it to use Asia/Calcutta by multiple methods. java.util.PropertyPermission user.timezone, write; line not there in catalina.policy file. Should this line not need to be present for granting the pernission? The reference to catalina.policy only applies if you are running under a security manager. Are you running under a security manager? What is the code for restricting the timezone overide permission in catalina.policy file? Moreover it was misundstanding between our developers, Nobody said that kernel tomcat mismatch might be the cause of the problem. TZData is also up-to-date. Regards George Sexton MH Software, Inc. http://www.mhsoftware.com/ Voice: 303 438 9585 - 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