Re: Memory leak from threadlocal for hot deployment
While it is possible to do so (If I know it) wouldn't it be more elegant if Tomcat handles it automatically. It is hard to educate the users to cleanup their threadlocals Recreating the threads in threadpool once per restart is not really expensive and users must be fine with that On Thu, Oct 16, 2008 at 2:04 PM, Leon Rosenberg [EMAIL PROTECTED] wrote: Err, why can't you reset the object after usage or at next redeploy? Leon On Thu, Oct 16, 2008 at 7:26 AM, Noble Paul നോബിള് नोब्ळ् [EMAIL PROTECTED] wrote: If I store an application object in ThreadLocal and do hot deployment it prevents the old classloader from getting GCed . Why can't Tomcat refresh it's threadpool after every app restart? --Noble - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- --Noble Paul
Proxy timeout error in Apache error log
Hi all We have three Tomcat sites running on three different Tomcat instances on a server (let's call it myserverA). One of the sites runs on Tomcat 5.5 and two run on different instances of Tomcat 6. We then have Apache 2.2 running on myserverB and we use mod_proxy_http as the connector. We are regularly getting errors like the two lines below in our Apache log file on all three sites; (70007)The timeout specified has expired: proxy: error reading status line from remote server myserverA.com, referer: http://www.site.com proxy: Error reading from remote server returned by /cache/Folder/image.jpg, referer: http://www.site.com Can anyone advise what the issue might be? Regards Michael
about tomcat default error page
i use apache with tomcat. i don't want tomcat to generate its default error page when a error happens. instead, i want to show my error page which i set in the apache conf file. i know that i can use error-page to do this, but i don't want to do it twice -- both apache and tomcat. is there any configuration that makes tomcat do nothing about the error and just simplely pass the reponse code to apache. thanks in advance. __ 赶快注册雅虎超大容量免费邮箱? http://cn.mail.yahoo.com
Re: Memory leak from threadlocal for hot deployment
As far as I know the threads from the connector are shared between webapps. So how would Tomcat know which objects in the threadlocals are from which webapp? Or should Tomcat destroy all threadlocals of webapp A if I reload webapp B? Ronald. Op vrijdag, 17 oktober 2008 om 8:19 uur schreef Tomcat Users List users@tomcat.apache.org: Subject: Re: Memory leak from threadlocal for hot deployment Date: Fri Oct 17 08:19:11 CEST 2008 From: Noble Paul നോബിള് नोब्ळ् [EMAIL PROTECTED] While it is possible to do so (If I know it) wouldn't it be more elegant if Tomcat handles it automatically. It is hard to educate the users to cleanup their threadlocals Recreating the threads in threadpool once per restart is not really expensive and users must be fine with that On Thu, Oct 16, 2008 at 2:04 PM, Leon Rosenberg [EMAIL PROTECTED] wrote: Err, why can't you reset the object after usage or at next redeploy? Leon On Thu, Oct 16, 2008 at 7:26 AM, Noble Paul നോബിള് नोब्ळ् [EMAIL PROTECTED] wrote: If I store an application object in ThreadLocal and do hot deployment it prevents the old classloader from getting GCed . Why can't Tomcat refresh it's threadpool after every app restart? --Noble - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- --Noble Paul
Re: about tomcat default error page
Hi 李征, I don't know the answer to your question, but here is a recommendation : To avoid delays in answering your question, it is always helpful to specify : - on which platform this happens (Windows, Unix, Linux,..) - what version of Apache - what version of Tomcat - what connector you use between them (mod_jk, proxy_ajp,..) and its version. In this case, it matters very much, because the exact answer to your question may be very dependent on this information. If you do not specify it, then whoever is the expert will have to ask you first, and because of time differences you might not see his question before tomorrow, and then when you answer he may not see your answer before his own tomorrow,.. and presto 48 hours have gone by. Now if the versions of all the above that you use are fairly recent, and you use the mod_jk connector, then you may want to look at the latest release notes of mod_jk. I am not sure, but I think I remember seeing something that was more or less around that subject. André 李征 wrote: i use apache with tomcat. i don't want tomcat to generate its default error page when a error happens. instead, i want to show my error page which i set in the apache conf file. i know that i can use error-page to do this, but i don't want to do it twice -- both apache and tomcat. is there any configuration that makes tomcat do nothing about the error and just simplely pass the reponse code to apache. thanks in advance. __ 赶快注册雅虎超大容量免费邮箱? http://cn.mail.yahoo.com - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Iterations in JSF using JSTL via forEach
I am sure this is a very silly problem, however I have been struggling with this for a while now. I am trying to iterate over a collection using JSF and JSTL's forEach which is apparently supported in JSP2.1 (2.0) and Tomcat 6. I have the version number in web.xml set to 2.5 and the faces-config.xml file set to 1.2 (see below). I checked the version of JARS included in the WAR file and they are : standard.jar : Implementation-Version: 1.1.2 jstl.jar : Implementation-Version: 1.1.2 jsf-impl.jar : Implementation-Version: 1.2_04-b20-p03 jsf-api.jar : Implementation-Version: 1.2_04-b20-p03 Below are the configuration files included with my WAR. I am using Tomcat apache-tomcat-6.0.16. I have found some older examples where I got this working, however I can't see why it doesn't work for me anymore. Any suggestions on this would really help me out a lot. Thanks in advance. Alex web.xml === ?xml version=1.0 encoding=UTF-8? web-app version=2.5 xmlns=http://java.sun.com/xml/ns/javaee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd; ... faces-config.xml ?xml version='1.0' encoding='UTF-8'? faces-config version=1.2 xmlns=http://java.sun.com/xml/ns/javaee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd; managed-bean managed-bean-nameController/managed-bean-name managed-bean-classcom.simple.Controller/managed-bean-class managed-bean-scoperequest/managed-bean-scope /managed-bean /faces-config jsp file [EMAIL PROTECTED] contentType=text/html% [EMAIL PROTECTED] pageEncoding=UTF-8% [EMAIL PROTECTED] prefix=c uri=http://java.sun.com/jsp/jstl/core% [EMAIL PROTECTED] prefix=f uri=http://java.sun.com/jsf/core% [EMAIL PROTECTED] prefix=h uri=http://java.sun.com/jsf/html% !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd; html head meta http-equiv=Content-Type content=text/html; charset=UTF-8 titleJSP Page/title /head body f:view h1Hallo : h:outputText value=#{Controller.message}//h1 h1h:outputText value=JavaServer Faces //h1 c:forEach var=item items=#{Controller.messages} h1Hallo/h1 h:outputText id=value value=#{item}/ /c:forEach /f:view /body /html jspx file = ?xml version=1.0 encoding=UTF-8? jsp:root xmlns:jsp=http://java.sun.com/JSP/Page; xmlns:h=http://java.sun.com/jsf/html; xmlns:f=http://java.sun.com/jsf/core; xmlns:c=http://java.sun.com/jsp/jstl/core; xmlns=http://www.w3.org/1999/xhtml; version=2.1 jsp:directive.page contentType=text/html/ jsp:output doctype-root-element=html doctype-public=-//W3C//DTD XHTML 1.0 Transitional//EN doctype-system=http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd/ jsp:directive.page contentType=text/html pageEncoding=UTF-8/ !-- any content can be specified here, e.g.: -- jsp:element name=text jsp:attribute name=langEN/jsp:attribute jsp:bodyHello World!/jsp:body /jsp:element f:view h1Hallo 2 : h:outputText value=#{Controller.message}//h1 h1h:outputText value=JavaServer Faces //h1 c:forEach var=item items=#{Controller.messages} h1Hallo/h1 h:outputText id=value value=#{item}/ /c:forEach /f:view /jsp:root Controller.java === package com.simple; import java.util.ArrayList; import java.util.List; public class Controller { private ArrayListString stuff = new ArrayListString(); public Controller() { System.out.println(Creating Controller); stuff.add(A1); stuff.add(A2); stuff.add(A3); stuff.add(A4); stuff.add(A5); } public String getMessage() { return This is a message; } public ArrayListString getMessages() { System.out.println(Getting Stuff); return stuff; } public void setMessage(ArrayListString stuff) { System.out.println(Setting Stuff); this.stuff = stuff; } } - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Where to look for connection refused errors in Tomcat6.0.18 ?
Hi, We are suspecting that during load testing with Jmeter , Tomcat 6.0.18 in Java 1.6 in Windows is experiencing more requests than it can handle . I have seen the documentation for the HTTP connector element and it says that If still more simultaneous requests are received, they are stacked up inside the server socket created by the Connector, up to the configured maximum (the value of the acceptCount attribute. Any further simultaneous requests will receive connection refused errors, until resources are available to process them. So where can we expect to see those errors in Tomcat ? Which logs ? I am using tomcat with all its default configuration . I would like to understand more of this problem before I start tweaking certain paramters ...What is the actual role of the Http Connector element ? Regards, Subhrajyoti Mobile: +919830079545 Mail: [EMAIL PROTECTED] Web: www.labware.com LabWare LIMS Solutions - Results Count
nested symbolic links
Hi All, I'm trying to work with symbolic links in Tomcat. I know you have to edit the context etc and it works perfectly: I have a webapp which is a symbolic link to a folder and I can successfully link to all the files in the folder, also to subfolders in that folder. e.g. http://localhost:8080/mywebapp/subfolder1/subfolder2/test.html However, when I add a symbolic link within the folders tomcat does not pick it up and does not follow the link. I've already tried restarting tomcat, among other things. E.g. http://localhost:8080/mywebapp/subfolder1/symLink/test.html returns 404. Anyone have any idea how to get this to work? I basically want to have a webapp which serves picture files and movies but I want to be able to add/remove folders to the webapp. It would be so easy to simply add/remove symbolic links pointing to the folders I want served. Tomcat is latest, java 1.6, Linux Ubuntu Hardy. Thanks, azMoose -- View this message in context: http://www.nabble.com/nested-symbolic-links-tp20032378p20032378.html Sent from the Tomcat - User mailing list archive at Nabble.com. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Iterations in JSF using JSTL via forEach
I figured out what the problem was. I was using JSTL 1.1 rather then 1.2. I found a version of this here : https://maven-repository.dev.java.net/repository/jstl/jars/ I am wondering if there are any plans to include this release with Tomcat 6, or make it easier accessible. May this is already being done, just haven't found it. Thanks Alex I am sure this is a very silly problem, however I have been struggling with this for a while now. I am trying to iterate over a collection using JSF and JSTL's forEach which is apparently supported in JSP2.1 (2.0) and Tomcat 6. I have the version number in web.xml set to 2.5 and the faces-config.xml file set to 1.2 (see below). I checked the version of JARS included in the WAR file and they are : standard.jar : Implementation-Version: 1.1.2 jstl.jar : Implementation-Version: 1.1.2 jsf-impl.jar : Implementation-Version: 1.2_04-b20-p03 jsf-api.jar : Implementation-Version: 1.2_04-b20-p03 Below are the configuration files included with my WAR. I am using Tomcat apache-tomcat-6.0.16. I have found some older examples where I got this working, however I can't see why it doesn't work for me anymore. Any suggestions on this would really help me out a lot. Thanks in advance. Alex web.xml === ?xml version=1.0 encoding=UTF-8? web-app version=2.5 xmlns=http://java.sun.com/xml/ns/javaee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd; ... faces-config.xml ?xml version='1.0' encoding='UTF-8'? faces-config version=1.2 xmlns=http://java.sun.com/xml/ns/javaee; xmlns:xsi=http://www.w3.org/2001/XMLSchema-instance; xsi:schemaLocation=http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-facesconfig_1_2.xsd; managed-bean managed-bean-nameController/managed-bean-name managed-bean-classcom.simple.Controller/managed-bean-class managed-bean-scoperequest/managed-bean-scope /managed-bean /faces-config jsp file [EMAIL PROTECTED] contentType=text/html% [EMAIL PROTECTED] pageEncoding=UTF-8% [EMAIL PROTECTED] prefix=c uri=http://java.sun.com/jsp/jstl/core% [EMAIL PROTECTED] prefix=f uri=http://java.sun.com/jsf/core% [EMAIL PROTECTED] prefix=h uri=http://java.sun.com/jsf/html% !DOCTYPE HTML PUBLIC -//W3C//DTD HTML 4.01 Transitional//EN http://www.w3.org/TR/html4/loose.dtd; html head meta http-equiv=Content-Type content=text/html; charset=UTF-8 titleJSP Page/title /head body f:view h1Hallo : h:outputText value=#{Controller.message}//h1 h1h:outputText value=JavaServer Faces //h1 c:forEach var=item items=#{Controller.messages} h1Hallo/h1 h:outputText id=value value=#{item}/ /c:forEach /f:view /body /html jspx file = ?xml version=1.0 encoding=UTF-8? jsp:root xmlns:jsp=http://java.sun.com/JSP/Page; xmlns:h=http://java.sun.com/jsf/html; xmlns:f=http://java.sun.com/jsf/core; xmlns:c=http://java.sun.com/jsp/jstl/core; xmlns=http://www.w3.org/1999/xhtml; version=2.1 jsp:directive.page contentType=text/html/ jsp:output doctype-root-element=html doctype-public=-//W3C//DTD XHTML 1.0 Transitional//EN doctype-system=http://www.w3c.org/TR/xhtml1/DTD/xhtml1-transitional.dtd/ jsp:directive.page contentType=text/html pageEncoding=UTF-8/ !-- any content can be specified here, e.g.: -- jsp:element name=text jsp:attribute name=langEN/jsp:attribute jsp:bodyHello World!/jsp:body /jsp:element f:view h1Hallo 2 : h:outputText value=#{Controller.message}//h1 h1h:outputText value=JavaServer Faces //h1 c:forEach var=item items=#{Controller.messages} h1Hallo/h1 h:outputText id=value value=#{item}/ /c:forEach /f:view /jsp:root Controller.java === package com.simple; import java.util.ArrayList; import java.util.List; public class Controller { private ArrayListString stuff = new ArrayListString(); public Controller() { System.out.println(Creating Controller); stuff.add(A1); stuff.add(A2); stuff.add(A3); stuff.add(A4); stuff.add(A5); } public String getMessage() { return This is a message; } public ArrayListString getMessages() { System.out.println(Getting Stuff); return stuff; } public void setMessage(ArrayListString stuff) { System.out.println(Setting Stuff); this.stuff = stuff; } } - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic,
RE: Where to look for connection refused errors in Tomcat6.0.18 ?
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] If still more simultaneous requests are received, they are stacked up inside the server socket created by the Connector, up to the configured maximum (the value of the acceptCount attribute. Any further simultaneous requests will receive connection refused errors, until resources are available to process them. So where can we expect to see those errors in Tomcat? You *can never* see these errors in Tomcat, because Tomcat is never aware that the connection was received. The operating system's TCP/IP stack has received the incoming SYN, tried to queue the connection request on Tomcat's accept queue, failed, and simply sends a RST to close the connection. You *might* be able to monitor the total number of connection refusals at the OS level. Netstat on Windows will give you this, for example, though it combines refusals due to load and refusals due to no port being configured to accept a connection. - Peter - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tomcat service is terminated unexpectedly (tcnative-1.dll)
Hi, I have o problem with Tomcat 5.5.26 using native DLL on Windows 2003. The service is terminated unexpectedly (regarding to the system logs). It happens very irregular (sometimes a few times in an hour, sometimes once per week). In the stack trace (attached) there is: # An unexpected error has been detected by HotSpot Virtual Machine: # # EXCEPTION_ACCESS_VIOLATION (0xc005) at pc=0x58d845a4, pid=3472, tid=588 # # Java VM: Java HotSpot(TM) Server VM (1.5.0_16-b02 mixed mode) # Problematic frame: # C [tcnative-1.dll+0x45a4] Which points to the native library. I have seen quite old (from 2006) bug 38898 [1], but there in a stack trace jvm.dll is mentioned, so I'm not sure if it's a duplicate. I don't see any other problems in tomcat logs (there was an issue with OutOfMemoryError some time earlier, but currently Tomcat can use 1,25GB and it seems to be enough). It's a test system with 1GB RAM + 1,5GB swap on a VMWare Server. [1] - https://issues.apache.org/bugzilla/show_bug.cgi?id=38898 Is it possible (using attached stack trace or by increasing a log details) determine what causes the problem? Thanks for your help Marcin # # An unexpected error has been detected by HotSpot Virtual Machine: # # EXCEPTION_ACCESS_VIOLATION (0xc005) at pc=0x58d845a4, pid=3472, tid=588 # # Java VM: Java HotSpot(TM) Server VM (1.5.0_16-b02 mixed mode) # Problematic frame: # C [tcnative-1.dll+0x45a4] # --- T H R E A D --- Current thread (0x0072e600): JavaThread Finalizer daemon [_thread_in_native, id=588] siginfo: ExceptionCode=0xc005, reading address 0x0014 Registers: EAX=0x006f, EBX=0x006f, ECX=0x57e25088, EDX=0x54270570 ESP=0x57def6f4, EBP=0x57def700, ESI=0x, EDI=0x EIP=0x58d845a4, EFLAGS=0x00010206 Top of Stack: (sp=0x57def6f4) 0x57def6f4: 0072e600 5426f7e8 5426f7e8 57def73c 0x57def704: 00d786cc 0072e6c0 57def744 0x57def714: 006f 57def720 0x57def724: 57def758 54270570 0x57def734: 5426f7e8 57def74c 57def778 00d72abf 0x57def744: 54270510 00d76579 006f 0x57def754: 57def75c 558e0bbe 0x57def764: 57def780 558e0f00 558e0bf0 Instructions: (pc=0x58d845a4) 0x58d84594: 8b 5d 1c 56 33 f6 85 db 57 76 32 8b 7d 10 8b c3 0x58d845a4: 8b 4f 14 2b c6 8d 55 1c 89 45 1c 8b 47 0c 52 8b Stack: [0x57db,0x57df), sp=0x57def6f4, free space=253k Native frames: (J=compiled Java code, j=interpreted, Vv=VM code, C=native code) C [tcnative-1.dll+0x45a4] j org.apache.tomcat.jni.Socket.sendbb(JII)I+0 j org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer()V+22 j org.apache.coyote.http11.InternalAprOutputBuffer.flush()V+19 j org.apache.coyote.http11.Http11AprProcessor.action(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V+104 j org.apache.coyote.Response.action(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V+31 j org.apache.catalina.connector.OutputBuffer.doFlush(Z)V+95 j org.apache.catalina.connector.OutputBuffer.flush()V+2 j org.apache.catalina.connector.CoyoteOutputStream.flush()V+4 j javax.imageio.stream.MemoryCacheImageOutputStream.flushBefore(J)V+47 j javax.imageio.stream.MemoryCacheImageOutputStream.close()V+15 j javax.imageio.stream.ImageInputStreamImpl.finalize()V+8 v ~StubRoutines::call_stub V [jvm.dll+0xf9b00] Java frames: (J=compiled Java code, j=interpreted, Vv=VM code) j org.apache.tomcat.jni.Socket.sendbb(JII)I+0 j org.apache.coyote.http11.InternalAprOutputBuffer.flushBuffer()V+22 j org.apache.coyote.http11.InternalAprOutputBuffer.flush()V+19 j org.apache.coyote.http11.Http11AprProcessor.action(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V+104 j org.apache.coyote.Response.action(Lorg/apache/coyote/ActionCode;Ljava/lang/Object;)V+31 j org.apache.catalina.connector.OutputBuffer.doFlush(Z)V+95 j org.apache.catalina.connector.OutputBuffer.flush()V+2 j org.apache.catalina.connector.CoyoteOutputStream.flush()V+4 j javax.imageio.stream.MemoryCacheImageOutputStream.flushBefore(J)V+47 j javax.imageio.stream.MemoryCacheImageOutputStream.close()V+15 j javax.imageio.stream.ImageInputStreamImpl.finalize()V+8 v ~StubRoutines::call_stub j java.lang.ref.Finalizer.invokeFinalizeMethod(Ljava/lang/Object;)V+0 j java.lang.ref.Finalizer.runFinalizer()V+45 j java.lang.ref.Finalizer.access$100(Ljava/lang/ref/Finalizer;)V+1 j java.lang.ref.Finalizer$FinalizerThread.run()V+11 v ~StubRoutines::call_stub --- P R O C E S S --- Java Threads: ( = current thread ) 0x583b3d78 JavaThread Java2D Disposer daemon [_thread_blocked, id=2520] 0x59632008 JavaThread AWT-Windows daemon [_thread_in_native, id=2704] 0x5a633da8 JavaThread http-8080-7 daemon [_thread_blocked, id=2148] 0x57e80e58 JavaThread http-8080-6 daemon [_thread_in_native, id=2144] 0x5a40c3b0 JavaThread http-8080-5 daemon [_thread_blocked, id=2336] 0x58436320 JavaThread http-8080-4 daemon [_thread_blocked,
JAVA_HOME is not found but tomcat is running. possible?
Hi all , I have a tomcat 4.x version (Perhaps it is a old version ,it is in production and we cant upgrade as of now). It is running as a window service in Windows2000 server. in the service icon i can find the path to executable: C:\Products\Apache Tomcat 4.1\bin\tomcat.exe My doubt is ,does tomcat.exe needs JAVA_HOME or JRE_HOME defined to run tomcat in this case as we are not starting tomcat using Startup.bat or Catalina.bat. If so,In my system i couldn't find any environmental varible set for JAVA_HOME or JRE_HOME... i can find only CATALINA_OPTS in it. It is also not defined in any of the .bat file as well...please help me on this.thanks Regards, Thangavel Sankaranarayanan - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Not showing error during deployment
No one has ever got this issue? 2008/10/16 emerson cargnin [EMAIL PROTECTED]: I found out this is because the errors might be happening inside spring: http://forum.springframework.org/showthread.php?t=27967page=2 Anyone know how to configure tomcat to show listeners errors? emerson 2008/10/16 emerson cargnin [EMAIL PROTECTED]: I changed the loggins.properties and put all as ALL, after trying finest. Still I don't get any further messages that would clarify the problem. emerson 2008/10/15 emerson cargnin [EMAIL PROTECTED]: I tried doing the log4j trick and just noticed that that just works in linux/unix. Why can't logging in tomcat be simpler??? I just want to see the error that is happening during deployment... 2008/10/15 emerson cargnin [EMAIL PROTECTED]: Hi I'm using TC 5.5.26 and java 5. When I deploy one webapp I get the following error: SEVERE: Context [/search] startup failed due to previous errors But it doesn't give any further error. Some other times I added a log4j configuration on the common/classes and the log4j jar inside common\lib and had to configure as debug to be able to see the deployment error stacktrace. But this would give me just too much log. What is the right approach to show the deployment errors? regards Emerson - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat not using multiple cores
On Oct 16, 2008, at 9:05 PM, Matthew Laird wrote: Caldarale, Charles R wrote: The only time I began to see the other cores actually start being used is when I enabled multi-threaded GC. But that doesn't give much improvement since the threads responding the web requests are still all on the same core. The most likely cause is internal synchronization in the webapp or the database it references. I've heard similar from someone else but I'm not sure how that's possible. The app is not at all threaded, is 100% read-only from the database (aside from creation of temp tables which have no interaction between client requests) and the MySQL server is on another machine humming along without any bottlenecks that I can see. But of course I'm not a Java or JVM expert and have no idea what kind of interlinks can exist between different client connections. But to my knowledge they're all pretty straight forward handlers, get data from database, format, return to user I'm leaning more towards GC issues. I setup Tomcat on a 64-bit machine and tried a few configurations: -Xms4096M -Xmx4096M -server -XX:+DisableExplicitGC -XX: +UseConcMarkSweepGC -Xms4096M -Xmx4096M -server -Xms2048M -Xmx2048M -server As I went through each of those the app became more and more sluggish and a single core finally in the last configuration did this 100% CPU usage again. Now, two issues I see. First, it's not being aggressive enough at spreading the load among different cores. Second, GC does seem to be an issue. Unless I'm missing something, which I might be. Thanks. Make sure IP6 is not enabled if You are an IP4 network. We had problems like You describe because of it. - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
INFO: Retrying request
I have Windows 2003 SP2, tom cat 5.5 , jave 1.5 box I can reach my tomcat app using localhost:8050/IT/servlet but not localhost/IT/servlet I was getting an http error Http error 404 - File or directory localhost/IT/servlet on web page of not found I took a closer look at the tomcat logs and they state: org.apache.commons.httpclient.HttpMethodDirector executeWithRetry INFO: Retrying request Anyone see this issue Thanks
RE: JAVA_HOME is not found but tomcat is running. possible?
doesnt sound right ..here is an excerpt from setclasspath.sh # Make sure prerequisite environment variables are set if [ -z $JAVA_HOME -a -z $JRE_HOME ]; then # Bugzilla 37284 if $darwin [ -d /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home ]; then export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home else echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined echo At least one of these environment variable is needed to run this program exit 1 fi fi if [ -z $JAVA_HOME -a $1 = debug ]; then echo JAVA_HOME should point to a JDK in order to run in debug mode. exit 1 fi if [ -z $JRE_HOME ]; then JRE_HOME=$JAVA_HOME fi As you can clearly see you will need to have either JRE_HOME or JAVA_HOME environment vars set before executing Since all of this is conjecture and speculation..do you have the source for tomcat.exe so we can find out whats going on? Thanks, Martin Gainty GMT+5 (e)[EMAIL PROTECTED] __ Disclaimer and confidentiality note Everything in this e-mail and any attachments relates to the official business of Sender. This transmission is of a confidential nature and Sender does not endorse distribution to any party other than intended recipient. Sender does not necessarily endorse content contained within this transmission. Subject: JAVA_HOME is not found but tomcat is running. possible? To: users@tomcat.apache.org From: [EMAIL PROTECTED] Date: Fri, 17 Oct 2008 18:58:29 +0530 Hi all , I have a tomcat 4.x version (Perhaps it is a old version ,it is in production and we cant upgrade as of now). It is running as a window service in Windows2000 server. in the service icon i can find the path to executable: C:\Products\Apache Tomcat 4.1\bin\tomcat.exe My doubt is ,does tomcat.exe needs JAVA_HOME or JRE_HOME defined to run tomcat in this case as we are not starting tomcat using Startup.bat or Catalina.bat. If so,In my system i couldn't find any environmental varible set for JAVA_HOME or JRE_HOME... i can find only CATALINA_OPTS in it. It is also not defined in any of the .bat file as well...please help me on this.thanks Regards, Thangavel Sankaranarayanan - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] _ Stay organized with simple drag and drop from Windows Live Hotmail. http://windowslive.com/Explore/hotmail?ocid=TXT_TAGLM_WL_hotmail_102008
Re: JAVA_HOME is not found but tomcat is running. possible?
When it's running as a service, Tomcat gets the location of Java from the registry, not from JAVA_HOME. You can change this and other settings using tomcat4w.exe. -- Len On Fri, Oct 17, 2008 at 09:28, Thangavel Sankaranarayanan [EMAIL PROTECTED] wrote: Hi all , I have a tomcat 4.x version (Perhaps it is a old version ,it is in production and we cant upgrade as of now). It is running as a window service in Windows2000 server. in the service icon i can find the path to executable: C:\Products\Apache Tomcat 4.1\bin\tomcat.exe My doubt is ,does tomcat.exe needs JAVA_HOME or JRE_HOME defined to run tomcat in this case as we are not starting tomcat using Startup.bat or Catalina.bat. If so,In my system i couldn't find any environmental varible set for JAVA_HOME or JRE_HOME... i can find only CATALINA_OPTS in it. It is also not defined in any of the .bat file as well...please help me on this.thanks Regards, Thangavel Sankaranarayanan - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: INFO: Retrying request
frank- do you have any relevant entries in iptables? do you have redirectPort in your connector ? Martin __ Disclaimer and confidentiality note Everything in this e-mail and any attachments relates to the official business of Sender. This transmission is of a confidential nature and Sender does not endorse distribution to any party other than intended recipient. Sender does not necessarily endorse content contained within this transmission. Subject: INFO: Retrying request Date: Fri, 17 Oct 2008 09:53:47 -0400 From: [EMAIL PROTECTED] To: users@tomcat.apache.org I have Windows 2003 SP2, tom cat 5.5 , jave 1.5 box I can reach my tomcat app using localhost:8050/IT/servlet but not localhost/IT/servlet I was getting an http error Http error 404 - File or directory localhost/IT/servlet on web page of not found I took a closer look at the tomcat logs and they state: org.apache.commons.httpclient.HttpMethodDirector executeWithRetry INFO: Retrying request Anyone see this issue Thanks _ When your life is on the go—take your life with you. http://clk.atdmt.com/MRT/go/115298558/direct/01/
Re: Tomcat not using multiple cores
My guesses: Your application has bad sync locking between some threads, which is causing one thread to block the others. Your application has bad database access code, which allows one thread to block others while waiting on the DB. Your application is disk bound, and the single long process is hashing the disk drives so much that is has dragged down the rest of the OS, making it very slow to respond to the IO request of the other, small tasks. You haven't configured the GC well - however, I would expect this to cause sporadic problems, rather than continuous ones. There are numerous JVM tools out there to help you with all of these issues - from the simple garbage collection monitor that comes with java (JConsole http://java.sun.com/developer/technicalArticles/J2SE/jconsole.html) to full blown tools like JProfiler (which last I checked, had a free trial) - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: INFO: Retrying request
Not 100$ sure what you mean but here are my configs Iaspi_redirector.porperty file located c:\program files\apache\Jk_redir\bin # Configuration file for the Jakarta ISAPI Redirector # The path to the ISAPI Redirector Extension, relative to the website # This must be in a virtual directory with execute privileges extension_uri=/Jk_Redir/isapi_redirect.dll # Full path to the log file for the ISAPI Redirector log_file=C:\PROGRA~1\IT\WIR1\tc-logs\IsapiRedirect.log # Log level (debug, info, warn, error or trace) log_level=info # Full path to the workers.properties file worker_file=C:\PROGRA~1\IT\WIR1\tc-config\workers.properties # Full path to the uriworkermap.properties file worker_mount_file=C:\PROGRA~1\IT\WIR1\tc-config\uriworkermap.properties -- Located C:\PROGRA~1\IT\WIR1\tc-config\ # workers.properties # # This file provides the jk configuration properties needed to # connect to Tomcat. # # List of workers that jk should create and work with # worker.list=aj_pri,aj_sec # # Define Primary worker aj_pri # worker.aj_pri.host=localhost worker.aj_pri.port=8050 worker.aj_pri.type=ajp13 # # Define Secondary worker aj_sec # worker.aj_sec.host=localhost worker.aj_sec.port=8051 worker.aj_sec.type=ajp13 --- Located in C:\PROGRA~1\IT\WIR1\tc-config\ # uriworkermap.properties - IIS /IT/*=aj_pri Located C:\PROGRA~1\IT\WIR1\tc-config\ !-- Server Configuration File -- Server port=8010 shutdown=SHUTDOWN debug=0 Listener className=org.apache.catalina.mbeans.ServerLifecycleListener debug=0/ Service name=Tomcat-Primary !-- Define a Coyote/JK2 AJP 1.3 Connector on port 8050 -- Connector className=org.apache.coyote.tomcat5.CoyoteConnector debug=0 protocolHandlerClassName=org.apache.jk.server.JkCoyoteHandler port=8050 minProcessors=5 maxProcessors=75 acceptCount=10 useURIValidationHack=false / Engine name=Primary defaultHost=localhost debug=0 !-- Global logger -- !-- Logger className=org.apache.catalina.logger.FileLogger directory=C:/Program Files/IT/Wire1/logs prefix=Tomcat-Primary. suffix=.log timestamp=true/ -- !-- The default virtual host -- Host name=localhost debug=0 appBase=webapps unpackWARs=false autoDeploy=false liveDeploy=false Context path=/IT docBase=C:/Program Files/IT/Wire1/webapps/IT.war crossContext=false / Context path=/ITServices docBase=C:/Program Files/IT/Wire1/webapps/ITServices.war crossContext=false / Context path=/ITWap docBase=C:/Program Files/IT/Wire1/webapps/ITWap.war crossContext=false / /Host /Engine /Service /Server Let me know what else you may need Thanks -Original Message- From: Martin Gainty [mailto:[EMAIL PROTECTED] Sent: Friday, October 17, 2008 10:37 AM To: Tomcat Users List Subject: RE: INFO: Retrying request frank- do you have any relevant entries in iptables? do you have redirectPort in your connector ? Martin __ Disclaimer and confidentiality note Everything in this e-mail and any attachments relates to the official business of Sender. This transmission is of a confidential nature and Sender does not endorse distribution to any party other than intended recipient. Sender does not necessarily endorse content contained within this transmission. Subject: INFO: Retrying request Date: Fri, 17 Oct 2008 09:53:47 -0400 From: [EMAIL PROTECTED] To: users@tomcat.apache.org I have Windows 2003 SP2, tom cat 5.5 , jave 1.5 box I can reach my tomcat app using localhost:8050/IT/servlet but not localhost/IT/servlet I was getting an http error Http error 404 - File or directory localhost/IT/servlet on web page of not found I took a closer look at the tomcat logs and they state: org.apache.commons.httpclient.HttpMethodDirector executeWithRetry INFO: Retrying request Anyone see this issue Thanks _ When your life is on the go-take your life with you. http://clk.atdmt.com/MRT/go/115298558/direct/01/ - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Classes in tomcat\server\lib folder sometimes are visible to web application
Thank you for your quick reply. I think I understand the distinction you make between a class being available and a class being loaded, although it is a bit confusing. I suspect that if I understand this clearly, it will help me track down the cause of my problem. Given the Tomcat ClassLoader hierarchy diagram in the documentation and your clarification below, is the following correct? The Catalina ClassLoader in server/lib creates Webapp1 ClassLoader specifically for webapp1. The parent classloader of Webapp1 ClassLoader is NOT set to Catalina ClassLoader but rather to Shared ClassLoader, so requests from webapp1 to load classes are never delegated to Catalina ClassLoader. Thus a reference to a Class in server/lib in Webapp1 will result in a ClassDefNotFound error. However, the classes in sever/lib ARE aware of WebApp1, and may call methods in Webapp1 and pass in references to themselves. When this happens, Webapp1 is now working with an implementation of a class in server/lib. I assume, however, that the only way for this to work in practice is that these specific implementations are referenced in Webapp1 as Interfaces which are defined NOT in server/lib, but rather by jars higher up in hierarchy, such as common/lib. If this understanding is true, then a) if my webapp code has any specific reference (e.g. the Class name is in my code as a variable or parameter type) to a class in server/lib, I should get a ClassDefNotFoundError. b) however, if my webapp has a reference to an Interface defined in common/lib and at runtime is handed a Class that implements this class, I may not get a ClassDefNotFoundError. Regards, Gary -Original Message- From: Caldarale, Charles R [mailto:[EMAIL PROTECTED] Sent: Thursday, October 16, 2008 6:55 PM To: Tomcat Users List Subject: RE: Classes in tomcat\server\lib folder sometimes are visible to web application From: Gary Hirschhorn [mailto:[EMAIL PROTECTED] Subject: Classes in tomcat\server\lib folder sometimes are visible to web application According to this documentation, classes in this jar should be TOTALLY invisible to web applications. That's not quite the case. Classes outside of a given classloader's branch can not be *loaded* by that classloader. However, if references to instances of such outside classes are made available to code from the classloader branch of interest, that code can use those objects. Nearly all of Tomcat's code, including the classloaders, request/response wrappers, servlet API handlers, etc., are in server/lib, yet are obviously used by application servlet code. So I understand why it does not work (class should not be visible), but why does it ever work? Without seeing the code, it's difficult to even speculate. - 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 start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: tomcat 5.5 How can I write my persitence session manager
Hi, I'm confused, I did not see the option maxIdleBackup. Thank you very much for your help ;) Mark Thomas a écrit : Alexandre Bes wrote: I don't know how to get the manager to start the backup in a struts action. You don't need to. Is it possible, I am curious? In the session I store attributes that are not serializable is it possible to exclude from the backup? When the persistence manager backup a session which contain a no serializable attribute this session is realy saved and restorable? After several backup of my session with attributes no serializable my session expires or is invalidate is it normal (not the fault of the timeout)? Thank you again for your help. bye - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
mod_jk configuration woes
I have the following configuration (config files below) and am encountering the error ajp_connection_tcp_get_message::jk_ajp_common.c (1033): wrong message format 0x4854 from 127.0.0.1:8082 when attempting to access a URL that matches one of my JKMounted entries. My versions are listed below, my workers.properties entries are supplied, my relevant http.conf entries are supplied, and the debug log from mod_jk.log is supplied. mod_jk was built from source because of the known issue of the latest mod_jk builds not working properly with the 2.2.3 version of Apache httpd. Can anyone provide some insight as to why Im getting this error message? Is it my combination of Tomcat, Apache, mod_jk? Is there something that mod_jk is expecting but not getting from Tomcat? Note that the URL http://localhost:8082/towergrovefeeddemo_en/ works just fine from the machine on which the httpd and tomcat instances are running. http://www.towergrovefeed.com/towergrovefeeddemo_en/ should (effectively) map to that for purposes of proxying. I dont know what it is that mod_jk dislikes about the reply its getting. Thanks for any insights. - Virgil Versions === Tomcat version 4.1.31 Apache httpd version 2.2.3 mod_jk version 1.2.26 compiled from source using instructions found at http://webui.sourcelabs.com/tomcat/mail/user/threads/Problem_with_mod_jk_installation.meta workers.properties === # Define worker names worker.list=worker1, englishdemo, dev # Properties for worker1 worker.worker1.type=ajp13 worker.worker1.host=localhost worker.worker1.port=8009 # Properties for englishdemo worker.englishdemo.type=ajp13 worker.englishdemo.host=localhost worker.englishdemo.port=8082 # Properties for dev worker.dev.type=ajp13 worker.dev.host=localhost worker.dev.port=8086 httpd.conf entries: === LoadModule jk_module modules/mod_jk.so # Where to find workers.properties # Update this path to match your conf directory location (put workers.properties next to httpd.conf) JkWorkersFile /etc/httpd/conf/workers.properties # Where to put jk shared memory # Update this path to match your local state directory or logs directory JkShmFile /var/log/httpd/mod_jk.shm # Where to put jk logs # Update this path to match your logs directory location (put mod_jk.log next to access_log) JkLogFile /var/log/httpd/mod_jk.log # Set the jk log level [debug/error/info] JkLogLevel debug # Select the timestamp log format JkLogStampFormat [%a %b %d %H:%M:%S %Y] # Send everything for context /examples to worker named worker1 (ajp13) JkMount /towergrovefeeddemo_en/* englishdemo JkMount /towergrovefeeddev2/* dev JkMount /examples/* worker1 Complete mod_jk debug log from startup of apache to execution of first request: === [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug] jk_set_time_fmt::jk_util.c (430): Pre-processed log time stamp format is '[%a %b %d %H:%M:%S %Y] ' [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug] uri_worker_map_open::jk_uri_worker_map.c (427): rule map size is 3 [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug] uri_worker_map_add::jk_uri_worker_map.c (379): wildchar rule '/towergrovefeeddemo_en/*=englishdemo' source 'JkMount' was added [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug] uri_worker_map_add::jk_uri_worker_map.c (379): wildchar rule '/towergrovefeeddev2/*=dev' source 'JkMount' was added [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug] uri_worker_map_add::jk_uri_worker_map.c (379): wildchar rule '/examples/*=worker1' source 'JkMount' was added [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug] do_shm_open::jk_shm.c (402): Truncated shared memory to 28800 [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug] do_shm_open::jk_shm.c (447): Initialized shared memory size=28800 free=28672 addr=0x40f99000 [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug] do_shm_open_lock::jk_shm.c (321): Opened shared memory lock /var/log/httpd/mod_jk.shm.17274.lock [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug] init_jk::mod_jk.c (2775): Initialized shm:/var/log/httpd/mod_jk.shm.17274 (28672 bytes) [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug] init_jk::mod_jk.c (2792): Setting default connection pool max size to 1 [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug] jk_map_read_property::jk_map.c (492): Adding property 'worker.list' with value 'worker1, englishdemo, dev' to map. [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug] jk_map_read_property::jk_map.c (492): Adding property 'worker.worker1.type' with value 'ajp13' to map. [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug] jk_map_read_property::jk_map.c (492): Adding property 'worker.worker1.host' with value 'localhost' to map. [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug] jk_map_read_property::jk_map.c (492): Adding property 'worker.worker1.port' with value '8009' to map. [Thu Oct 16 22:30:52 2008] [17274:1081287232] [debug]
Re: mod_jk configuration woes
I have the following configuration (config files below) and am encountering the error “ajp_connection_tcp_get_message::jk_ajp_common.c (1033): wrong message format 0x4854 from 127.0.0.1:8082” when attempting to access a URL that matches one of my JKMounted entries. My versions are listed below, my workers.properties entries are supplied, my relevant http.conf entries are supplied, and the debug log from mod_jk.log is supplied. mod_jk was built from source because of the known issue of the latest mod_jk builds not working properly with the 2.2.3 version of Apache httpd. Can anyone provide some insight as to why I’m getting this error message? Is it my combination of Tomcat, Apache, mod_jk? Is there something that mod_jk is expecting but not getting from Tomcat? Mod_Jk needs to talk to tomcat via the ajp protocol. You need to define an ajp connector and point mod_jk at that port. Regards, Al
Re: mod_jk configuration woes
[EMAIL PROTECTED] schrieb: I have the following configuration (config files below) and am encountering the error “ajp_connection_tcp_get_message::jk_ajp_common.c (1033): wrong message format 0x4854 from 127.0.0.1:8082” when attempting to access a URL that matches one of my JKMounted entries. My versions are listed below, my workers.properties entries are supplied, my relevant http.conf entries are supplied, and the debug log from mod_jk.log is supplied. mod_jk was built from source because of the known issue of the latest mod_jk builds not working properly with the 2.2.3 version of Apache httpd. Can anyone provide some insight as to why I’m getting this error message? Is it my combination of Tomcat, Apache, mod_jk? Is there something that mod_jk is expecting but not getting from Tomcat? Mod_Jk needs to talk to tomcat via the ajp protocol. You need to define an ajp connector and point mod_jk at that port. The connectors are defined in server.xml of Tomcat. 4.1.31 has by default two types of ajp13 connectors to choose from. The more modern one is the one with className=org.apache.coyote.tomcat4.CoyoteConnector. The attribute protocolHandlerClassName=org.apache.jk.server.JkCoyoteHandler is important. You need one Connector per port you want to talk to via mod_jk. BTW: if you really still need to use Tomcat 4.1, consider upgrading to 4.1.37. Regards, Rainer - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: mod_jk configuration woes
I have the following configuration (config files below) and am encountering the error âajp_connection_tcp_get_message::jk_ajp_common.c (1033): wrong message format 0x4854 from 127.0.0.1:8082â when attempting to access a URL that matches one of my JKMounted entries. My versions are listed below, my workers.properties entries are supplied, my relevant http.conf entries are supplied, and the debug log from mod_jk.log is supplied. mod_jk was built from source because of the known issue of the latest mod_jk builds not working properly with the 2.2.3 version of Apache httpd. Can anyone provide some insight as to why Iâm getting this error message? Is it my combination of Tomcat, Apache, mod_jk? Is there something that mod_jk is expecting but not getting from Tomcat? Mod_Jk needs to talk to tomcat via the ajp protocol. You need to define an ajp connector and point mod_jk at that port. Thanks. It all makes sense now. The Tomcat Connector documentation assumes that you have a default Tomcat config which includes ajp by default. I happen to be using a custom Tomcat config file produced by someone else. I didn't recognize the significance of the use of port 8009 in the examples. Not being familiar with ajp and not seeing anything in the mod_jk or JK documentation that reminds you that this assumption exists (or suggests that you ensure an ajp connector is defined), I missed the tomcat side of the configuration. - Virgil - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: Classes in tomcat\server\lib folder sometimes are visible to web application
From: Gary Hirschhorn [mailto:[EMAIL PROTECTED] Subject: RE: Classes in tomcat\server\lib folder sometimes are visible to web application The Catalina ClassLoader in server/lib creates Webapp1 ClassLoader specifically for webapp1. It's actually org.apache.catalina.loader.WebappLoader that creates each webapp's classloader, but the result is the same as you surmised. the only way for this to work in practice is that these specific implementations are referenced in Webapp1 as Interfaces which are defined NOT in server/lib, but rather by jars higher up in hierarchy, such as common/lib. Essentially correct; in addition to Interface classes, there are also abstract classes in the top-level jars. a) if my webapp code has any specific reference (e.g. the Class name is in my code as a variable or parameter type) to a class in server/lib, I should get a ClassDefNotFoundError. Correct. b) however, if my webapp has a reference to an Interface defined in common/lib and at runtime is handed a Class that implements this class, I may not get a ClassDefNotFoundError. Not just may not, but should not. Be aware that Tomcat uses a fair amount of reflection to avoid having direct references at compile and load time; depending on what your code needs, you may have to do something similar. - 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 start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: JAVA_HOME is not found but tomcat is running. possible?
Thangavel Sankaranarayanan wrote: Hi all , I have a tomcat 4.x version (Perhaps it is a old version ,it is in production and we cant upgrade as of now). It is running as a window service in Windows2000 server. in the service icon i can find the path to executable: C:\Products\Apache Tomcat 4.1\bin\tomcat.exe My doubt is ,does tomcat.exe needs JAVA_HOME or JRE_HOME defined to run tomcat in this case as we are not starting tomcat using Startup.bat or Catalina.bat. If so,In my system i couldn't find any environmental varible set for JAVA_HOME or JRE_HOME... i can find only CATALINA_OPTS in it. It is also not defined in any of the .bat file as well...please help me on this.thanks Check if you also have a tomcatw.exe in the same directory. If yes, then it is probably an instance of this : http://commons.apache.org/daemon read, then click on the procrun link at the bottom of the page. It sounds a bit obscure, so roughly : The Java JVM, per se, does not run very nicely as a Windows Service, because it lacks the interfaces that a Windows Service needs to properly respond to Windows messages like shut down service. So procrun.exe is a program that wraps the JVM into a shell that does have these interfaces. tomcatw.exe is just the GUI program prunmgr.exe, renamed to tomcatw.exe. It is the GUI setup tool for procrun.exe, allowing you to tell it where to get its JVM, what parameters to start it with, etc.. Much like the startup.sh and catalina.sh do under Unix/Linux. Double-click on tomcatw.exe, then select the Java panel, and you'll see what I am talking about. So basically, under Windows, if you want to run Tomcat as a service, you do as follows : - configure your JVM environment using tomcatw.exe (prunmgr) - use tomcat.exe (procrun) as the executable for the Service that Windows will run This tomcat.exe will start the JVM, and in the JVM Tomcat (bootstrap.jar) This tomcat.exe will also catch the signal Windows is sending when it's time to shut down, and properly stop Tomcat and the JVM. Now you see why you don't find an environment variable JAVA_HOME ? tomcat.exe (in reality procrun) does not need it, because it finds the same information somewhere else (where tomcatw.exe (prunmgr) put it). (And I am not quite sure where it puts it, probably the Registry). - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: JAVA_HOME is not found but tomcat is running. possible?
Hi Martin, This is my startup.bat. Here it is doing the job of setting the CATALINA_HOME if it is not defined and calling CATALINA.bat.. I can find JAVA_HOME ENV variable found in many places in CATALINA.bat. But i can find any JAVA_HOME variable in the list of environment variables or in any of the scripts .( which is assigning a value for it) rem Guess CATALINA_HOME if not defined if not %CATALINA_HOME% == goto gotHome set CATALINA_HOME=. if exist %CATALINA_HOME%\bin\catalina.bat goto okHome set CATALINA_HOME=.. :gotHome if exist %CATALINA_HOME%\bin\catalina.bat goto okHome echo The CATALINA_HOME environment variable is not defined correctly echo This environment variable is needed to run this program goto end :okHome set EXECUTABLE=%CATALINA_HOME%\bin\catalina.bat rem Check that target executable exists if exist %EXECUTABLE% goto okExec echo Cannot find %EXECUTABLE% echo This file is needed to run this program goto end :okExec rem Get remaining unshifted command line arguments and save them in the set CMD_LINE_ARGS= :setArgs if %1== goto doneSetArgs set CMD_LINE_ARGS=%CMD_LINE_ARGS% %1 shift goto setArgs :doneSetArgs call %EXECUTABLE% start %CMD_LINE_ARGS% :end Regards, Thangavel Sankaranarayanan Martin Gainty [EMAIL PROTECTED] com To Tomcat Users List 10/17/2008 07:30 users@tomcat.apache.org PM cc Subject Please respond to RE: JAVA_HOME is not found but Tomcat Users tomcat is running. possible? List [EMAIL PROTECTED] che.org doesnt sound right ..here is an excerpt from setclasspath.sh # Make sure prerequisite environment variables are set if [ -z $JAVA_HOME -a -z $JRE_HOME ]; then # Bugzilla 37284 if $darwin [ -d /System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home ]; then export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.5/Home else echo Neither the JAVA_HOME nor the JRE_HOME environment variable is defined echo At least one of these environment variable is needed to run this program exit 1 fi fi if [ -z $JAVA_HOME -a $1 = debug ]; then echo JAVA_HOME should point to a JDK in order to run in debug mode. exit 1 fi if [ -z $JRE_HOME ]; then JRE_HOME=$JAVA_HOME fi As you can clearly see you will need to have either JRE_HOME or JAVA_HOME environment vars set before executing Since all of this is conjecture and speculation..do you have the source for tomcat.exe so we can find out whats going on? Thanks, Martin Gainty GMT+5 (e)[EMAIL PROTECTED] __ Disclaimer and confidentiality note Everything in this e-mail and any attachments relates to the official business of Sender. This transmission is of a confidential nature and Sender does not endorse distribution to any party other than intended recipient. Sender does not necessarily endorse content contained within this transmission. Subject: JAVA_HOME is not found but tomcat is running. possible? To: users@tomcat.apache.org From: [EMAIL PROTECTED] Date: Fri, 17 Oct 2008 18:58:29 +0530 Hi all , I have a tomcat 4.x version (Perhaps it is a old version ,it is in production and we cant upgrade as of now). It is running as a window service in Windows2000 server. in the service icon i can find the path to executable: C:\Products\Apache Tomcat 4.1\bin\tomcat.exe My doubt is ,does tomcat.exe needs JAVA_HOME or JRE_HOME defined to run tomcat in this case as we are not starting tomcat using Startup.bat or Catalina.bat. If so,In my system i couldn't find any environmental varible set for JAVA_HOME or JRE_HOME... i can find only CATALINA_OPTS in it. It is also not defined in any of the .bat file as well...please help me on this.thanks Regards, Thangavel Sankaranarayanan - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL
Re: mod_proxy_http v. mod_jk, was Re: Data Truncated when proxied from Apache
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Robert, Robert Koberg wrote: On Oct 15, 2008, at 5:44 PM, Filip Hanik - Dev Lists wrote: use mod_proxy_http or mod_jk, I have seen a few posts recommending mod_proxy_http a little bit over mod_jk. Why is that? Note that mod_jk and mod_proxy_ajp fill the same role: they use the AJP protocol to connect Apache httpd to Tomcat (or any AJP-compliant application server). mod_proxy_http does the same thing, but uses the HTTP protocol, and so has a few options missing (not exactly sure what they are). I chose mod_jk over mod_proxy_ajp for two reasons: 1. mod_jk has been around for years, and it was the only game in town when I got started. 2. I find that mod_jk is more configurable for complex deployments. I tried to switch to mod_proxy_ajp when we moved to Apache httpd 2.2.x, but I had a hard time getting it to do what I wanted it to do, so I stuck with mod_jk. Filip didn't explain his recommendation, but I believe Filip was suggesting that mod_proxy_http was more robust than mod_proxy_ajp and might not have the same problems. From my experience, mod_jk is very robust and reliable. Hope that helps, - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkj4+ioACgkQ9CaO5/Lv0PAoyQCeL4He8BdVowbB90N9DnaAcvvq EqsAn2a6PPwlYuxgwLqEbSVdyHR8rk8i =CZZV -END PGP SIGNATURE- - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Programmatic instruct Tomcat to shutdown
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Maxim, Maxim Veksler wrote: I would like to forcefully cause my application server to fail once I discover a situation I can't recover from. We have HA that should handle the situation from there. The best way I can see this happening is by issuing a shutdown instruction to the container, but I can't find how to do this peacefully. You should check out the code for the Bootstrap class: http://svn.apache.org/repos/asf/tomcat/tc6.0.x/tags/TOMCAT_6_0_18/java/org/apache/catalina/startup/Bootstrap.java It calls o.a.c.s.Catalina.stopServer which you can read here: http://svn.apache.org/repos/asf/tomcat/tc6.0.x/tags/TOMCAT_6_0_18/java/org/apache/catalina/startup/Catalina.java Basically, it makes a localhost socket connection and send the shutdown command to the server. You could do this yourself to initiate a graceful server shutdown. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkj4/qkACgkQ9CaO5/Lv0PCA7wCgouK/jWSeZODHtufCB6prywDS v+kAoK3bBmoq86awNLxhw3SMhmBgjvmg =98T3 -END PGP SIGNATURE- - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: MySQL DBCP Connection Example?
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 David, David Smith wrote: As an alternative to storing webapps in tomcat's webapps directory, you could place a Context ... ... /Context xml fragment in a file in conf/Catalina/localhost with docBase and path properly set. docBase:yes path:no It is illegal to set the path of a Contect unless the context is defined in server.xml, which you shouldn't do. Tomcat will use the name of the XML file as the context path (unless it's called ROOT, in which case the context path with be ). - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkj4/2sACgkQ9CaO5/Lv0PDDngCgltZddUlasKaEJHpi/y54SvjB 9ysAn0Gk1fYRPI/HecvvOqhJc7+KxLfQ =MTsj -END PGP SIGNATURE- - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Memory leak from threadlocal for hot deployment
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Noble, Noble Paul നോബിള് नोब्ळ् wrote: While it is possible to do so (If I know it) wouldn't it be more elegant if Tomcat handles it automatically. It is hard to educate the users to cleanup their threadlocals. They must be educated. Un-cared-for ThreadLocals can really screw things up, especially if they are constantly added and never removed. They can also be a security concern: if you don't remove your data from the thread, how can you know what someone else's code will do with your data? - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkj4/9kACgkQ9CaO5/Lv0PAXOgCff9NABE7A/lkD5FXnz46UK37N hRMAnRTm4eqS3pC11tvZCsmLxE+Bg52M =lQb1 -END PGP SIGNATURE- - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
RE: MySQL DBCP Connection Example?
getting tired ot correcting these emails..david i From: [EMAIL PROTECTED] To: users@tomcat.apache.org Subject: Re: MySQL DBCP Connection Example? -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 David, David Smith wrote: As an alternative to storing webapps in tomcat's webapps directory, you could place a Context ... ... /Context xml fragment in a file in conf/Catalina/localhost with docBase and path properly set. docBase:yes path:no It is illegal to set the path of a Contect unless the context is MGPerfectly LEGAL comment out your manager context in /conf/Catalina/localhost !--Context docBase=${catalina.home}/server/webapps/manager privileged=true antiResourceLocking=false antiJARLocking=false -- !--ResourceLink name=users global=UserDatabase type=org.apache.catalina.UserDatabase/ -- !-- /Context -- and look at what I see in the log DEBUG main org.apache.catalina.session.ManagerBase - No persisted data file found and you get 404 when accessing the manager app defined in server.xml, which you shouldn't do. Tomcat will use the name of the XML file as the context path (unless it's called ROOT, in which case the context path with be ). - -(dumbkopf) chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkj4/2sACgkQ9CaO5/Lv0PDDngCgltZddUlasKaEJHpi/y54SvjB 9ysAn0Gk1fYRPI/HecvvOqhJc7+KxLfQ =MTsj -END PGP SIGNATURE- - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] _ Want to read Hotmail messages in Outlook? The Wordsmiths show you how. http://windowslive.com/connect/post/wedowindowslive.spaces.live.com-Blog-cns!20EE04FBC541789!167.entry?ocid=TXT_TAGLM_WL_hotmail_092008
Re: MySQL DBCP Connection Example?
Very true ... I've been working way too much lately. --David Christopher Schultz wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 David, David Smith wrote: As an alternative to storing webapps in tomcat's webapps directory, you could place a Context ... ... /Context xml fragment in a file in conf/Catalina/localhost with docBase and path properly set. docBase:yes path:no It is illegal to set the path of a Contect unless the context is defined in server.xml, which you shouldn't do. Tomcat will use the name of the XML file as the context path (unless it's called ROOT, in which case the context path with be ). - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.9 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org iEYEARECAAYFAkj4/2sACgkQ9CaO5/Lv0PDDngCgltZddUlasKaEJHpi/y54SvjB 9ysAn0Gk1fYRPI/HecvvOqhJc7+KxLfQ =MTsj -END PGP SIGNATURE- - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED] -- David Smith Programmer/Analyst College of Agriculture and Life Sciences Cornell University B32 Morrison Hall Ithaca, NY 14853 Phone: (607) 255-4521 - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Building Tomcat With IcedTea
Hi, I'm trying to build tomcat with IcedTea. I get the following types of errors while DBCP is being built: [javac] /usr/share/java/tomcat6-deps/dbcp/src/java/org/apache/tomcat/dbcp/dbcp/cpdsadapter/PoolablePreparedStatementStub.java:34: isClosed() in org.apache.tomcat.dbcp.dbcp.DelegatingStatement cannot implement isClosed() in java.sql.Statement; attempting to assign weaker access privileges; was public [javac] class PoolablePreparedStatementStub extends PoolablePreparedStatement { [javac] ^ [javac] /usr/share/java/tomcat6-deps/dbcp/src/java/org/apache/tomcat/dbcp/dbcp/datasources/PerUserPoolDataSource.java:52: org.apache.tomcat.dbcp.dbcp.datasources.PerUserPoolDataSource is not abstract and does not override abstract method isWrapperFor(java.lang.Class?) in java.sql.Wrapper [javac] public class PerUserPoolDataSource [javac]^ [javac] /usr/share/java/tomcat6-deps/dbcp/src/java/org/apache/tomcat/dbcp/dbcp/datasources/SharedPoolDataSource.java:45: org.apache.tomcat.dbcp.dbcp.datasources.SharedPoolDataSource is not abstract and does not override abstract method isWrapperFor(java.lang.Class?) in java.sql.Wrapper [javac] public class SharedPoolDataSource [javac]^ [javac] Note: Some input files use or override a deprecated API. [javac] Note: Recompile with -Xlint:deprecation for details. [javac] Note: Some input files use unchecked or unsafe operations. [javac] Note: Recompile with -Xlint:unchecked for details. [javac] 15 errors Anyone know of any workarounds? Thanks, - Ole - To start a new topic, e-mail: users@tomcat.apache.org To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]