RE: JspServlet - Unexpected behavior, possible bug...
From: Nathan Potter [mailto:npot...@opendap.org] Subject: Re: JspServlet - Unexpected behavior, possible bug... So is the idea to identify to the filter: These are the things for the org.apache.catalina.servlets.DefaultServlet and then send everything else to Hyrax? Can it be configured like that? Yes, the UrlRewriteFilter is extremely flexible. - 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
Undeploy fails with Tomcat 7 manager application
Hi group, we are using Tomcat 7.0.21 on Windows XP with the manager application for remote deployment. Tomcat is configured to unpack wars. Deploying works. However undeploy fails for the following reason: FAIL - Unable to delete [C:\Programme\Apache Software Foundation\Tomcat 7.0\webapps\mywebapp]. The continued presence of this file may cause problems. The exploded WAR file mywebapp is still in the webapp folder. The war file gets deleted. Now, we can't even redeploy or deploy. We have to manually delete the folder mywebapp. Any ideas? - Björn
Re: Undeploy fails with Tomcat 7 manager application
On 18/10/2011 13:02, Bjoern Raupach wrote: Hi group, we are using Tomcat 7.0.21 on Windows XP with the manager application for remote deployment. Tomcat is configured to unpack wars. Deploying works. However undeploy fails for the following reason: FAIL - Unable to delete [C:\Programme\Apache Software Foundation\Tomcat 7.0\webapps\mywebapp]. The continued presence of this file may cause problems. The exploded WAR file mywebapp is still in the webapp folder. The war file gets deleted. Now, we can't even redeploy or deploy. We have to manually delete the folder mywebapp. Any ideas? Fix the memory leaks that are causing one or more files to be left open in the unpacked web application. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Undeploy fails with Tomcat 7 manager application
Could you recommend a tool to show us these files? Its a JSF application, so you are right, there are some properties files needed. On Oct 18, 2011, at 2:09 PM, Mark Thomas wrote: On 18/10/2011 13:02, Bjoern Raupach wrote: Hi group, we are using Tomcat 7.0.21 on Windows XP with the manager application for remote deployment. Tomcat is configured to unpack wars. Deploying works. However undeploy fails for the following reason: FAIL - Unable to delete [C:\Programme\Apache Software Foundation\Tomcat 7.0\webapps\mywebapp]. The continued presence of this file may cause problems. The exploded WAR file mywebapp is still in the webapp folder. The war file gets deleted. Now, we can't even redeploy or deploy. We have to manually delete the folder mywebapp. Any ideas? Fix the memory leaks that are causing one or more files to be left open in the unpacked web application. 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: Undeploy fails with Tomcat 7 manager application
On 18/10/2011 13:23, Bjoern Raupach wrote: Could you recommend a tool to show us these files? Its a JSF application, so you are right, there are some properties files needed. Any Java profiler should do the job. I use YourKit because they give free copies to Apache committers. Mark On Oct 18, 2011, at 2:09 PM, Mark Thomas wrote: On 18/10/2011 13:02, Bjoern Raupach wrote: Hi group, we are using Tomcat 7.0.21 on Windows XP with the manager application for remote deployment. Tomcat is configured to unpack wars. Deploying works. However undeploy fails for the following reason: FAIL - Unable to delete [C:\Programme\Apache Software Foundation\Tomcat 7.0\webapps\mywebapp]. The continued presence of this file may cause problems. The exploded WAR file mywebapp is still in the webapp folder. The war file gets deleted. Now, we can't even redeploy or deploy. We have to manually delete the folder mywebapp. Any ideas? Fix the memory leaks that are causing one or more files to be left open in the unpacked web application. 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 - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Undeploy fails with Tomcat 7 manager application
Thanks! I will give it a try. - Björn On Oct 18, 2011, at 2:29 PM, Mark Thomas wrote: On 18/10/2011 13:23, Bjoern Raupach wrote: Could you recommend a tool to show us these files? Its a JSF application, so you are right, there are some properties files needed. Any Java profiler should do the job. I use YourKit because they give free copies to Apache committers. Mark On Oct 18, 2011, at 2:09 PM, Mark Thomas wrote: On 18/10/2011 13:02, Bjoern Raupach wrote: Hi group, we are using Tomcat 7.0.21 on Windows XP with the manager application for remote deployment. Tomcat is configured to unpack wars. Deploying works. However undeploy fails for the following reason: FAIL - Unable to delete [C:\Programme\Apache Software Foundation\Tomcat 7.0\webapps\mywebapp]. The continued presence of this file may cause problems. The exploded WAR file mywebapp is still in the webapp folder. The war file gets deleted. Now, we can't even redeploy or deploy. We have to manually delete the folder mywebapp. Any ideas? Fix the memory leaks that are causing one or more files to be left open in the unpacked web application. 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 - 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: JspServlet - Unexpected behavior, possible bug...
2011/10/17 Nathan Potter npot...@opendap.org: Greetings, I am new to this list and I apologize in advance if this has been covered (although searching the archives did not lead me to a related thread): In my web application I need to utilize the JSP servlet, but I need to use a different servlet mapping: servlet-mapping servlet-namejsp/servlet-name url-pattern/jsp/*/url-pattern /servlet-mapping This mapping works great, but I have noticed an odd thing: - If I request a URL that references an existing JSP it works. http://localhost:8080/test/jsp/index.jsp - If I request a URL that references a file that does not exist I get a 404 error, as expected. http://localhost:8080/test/jsp/doesnotexist - If I request a URL (with a trailing / character) that references an existing directory within the the JSP servlet's purview. I get a 404 error (which seems reasonable). http://localhost:8080/test/jsp/foo - BUT, If I request a URL (without a trailing slash) that references an existing directory within the the JSP servlet's purview, I get an HTTP status 500 (Internal Server Error). http://localhost:8080/test/jsp/foo I think this is incorrect behavior. When I do the same experiment with the default servlet I get an empty directory, but no error. I looked at the Tomcat code referenced by the stack trace: org.apache.jasper.JasperException: File /jsp/foo not found org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116) org.apache.jasper.compiler.JspUtil.getInputStream(JspUtil.java:851) org.apache.jasper.xmlparser.XMLEncodingDetector.getEncoding(XMLEncodingDetector.java:108) org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:348) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:207) org.apache.jasper.compiler.ParserController.parseDirectives(ParserController.java:120) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:180) org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) org.apache.jasper.compiler.Compiler.compile(Compiler.java:321) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) And I can see that in JspServlet in lines 312 - 316: try { wrapper.service(request, response, precompile); } catch (FileNotFoundException fnfe) { handleMissingResource(request, response, jspUri); } The call is being serviced. Unfortunately when this problem occurs a JasperException is throw, not a FileNotFoundException and the handleMissingResource() path way is skipped Any thoughts? It strikes me that this situation is one that can easily be incurred by a type in the URL and so I don't that that an HTTP staus of 500 should be returned in this situation. What exactly x.y.z Tomcat version is that? Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: JspServlet - Unexpected behavior, possible bug...
On Oct 18, 2011, at 6:50 AM, Konstantin Kolinko wrote: 2011/10/17 Nathan Potter npot...@opendap.org: Greetings, I am new to this list and I apologize in advance if this has been covered (although searching the archives did not lead me to a related thread): In my web application I need to utilize the JSP servlet, but I need to use a different servlet mapping: servlet-mapping servlet-namejsp/servlet-name url-pattern/jsp/*/url-pattern /servlet-mapping This mapping works great, but I have noticed an odd thing: - If I request a URL that references an existing JSP it works. http://localhost:8080/test/jsp/index.jsp - If I request a URL that references a file that does not exist I get a 404 error, as expected. http://localhost:8080/test/jsp/doesnotexist - If I request a URL (with a trailing / character) that references an existing directory within the the JSP servlet's purview. I get a 404 error (which seems reasonable). http://localhost:8080/test/jsp/foo - BUT, If I request a URL (without a trailing slash) that references an existing directory within the the JSP servlet's purview, I get an HTTP status 500 (Internal Server Error). http://localhost:8080/test/jsp/foo I think this is incorrect behavior. When I do the same experiment with the default servlet I get an empty directory, but no error. I looked at the Tomcat code referenced by the stack trace: org.apache.jasper.JasperException: File /jsp/foo not found org .apache .jasper .compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51) org .apache .jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409) org .apache .jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116) org.apache.jasper.compiler.JspUtil.getInputStream(JspUtil.java:851) org .apache .jasper .xmlparser.XMLEncodingDetector.getEncoding(XMLEncodingDetector.java: 108) org .apache .jasper .compiler .ParserController.determineSyntaxAndEncoding(ParserController.java: 348) org .apache .jasper.compiler.ParserController.doParse(ParserController.java:207) org .apache .jasper .compiler.ParserController.parseDirectives(ParserController.java:120) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:180) org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) org.apache.jasper.compiler.Compiler.compile(Compiler.java:321) org .apache .jasper.JspCompilationContext.compile(JspCompilationContext.java:592) org .apache .jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java: 313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java: 260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) And I can see that in JspServlet in lines 312 - 316: try { wrapper.service(request, response, precompile); } catch (FileNotFoundException fnfe) { handleMissingResource(request, response, jspUri); } The call is being serviced. Unfortunately when this problem occurs a JasperException is throw, not a FileNotFoundException and the handleMissingResource() path way is skipped Any thoughts? It strikes me that this situation is one that can easily be incurred by a type in the URL and so I don't that that an HTTP staus of 500 should be returned in this situation. What exactly x.y.z Tomcat version is that? 6.0.33 Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org = = = Nathan Potterndp at opendap.org OPeNDAP, Inc.+1.541.231.3317 - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
TOMCAT_BASE and TOMCAT_HOME
I'm reading Tomcat: The Definitive Guide to learn how to separate your instance specific files from your core installation, i.e. CATALINE_HOME; this separation is for providing a clean upgrade path as well as running multiple instances of tomcat off of the same installation. A lot of the stuff they recommend pulling out into instance specific directories make sense, such as conf and webapps -- those folders contain the obvious application specific data. However, the also recommend pulling out all of the folders that contain the jars that hold runtime classes. To quote directly from their book: Also, some jar files and class files may need to be loaded from the shared, server, and common directory trees. This means that for multiple instances to work, each Tomcat instance has to have its own set of these directories; they cannot be shared by two differently configured Tomcat JVM instances. Why would separate instances require their own jar files? Is it not possible to point two concurrently executing jvm's at the same set of jar files? Note: this is about tomcat 5.5 and 6.0
Re: TOMCAT_BASE and TOMCAT_HOME
On Tue, Oct 18, 2011 at 16:44, chad.da...@emc.com wrote: I'm reading Tomcat: The Definitive Guide to learn how to separate your instance specific files from your core installation, i.e. CATALINE_HOME; this separation is for providing a clean upgrade path as well as running multiple instances of tomcat off of the same installation. A lot of the stuff they recommend pulling out into instance specific directories make sense, such as conf and webapps -- those folders contain the obvious application specific data. However, the also recommend pulling out all of the folders that contain the jars that hold runtime classes. To quote directly from their book: Also, some jar files and class files may need to be loaded from the shared, server, and common directory trees. This means that for multiple instances to work, each Tomcat instance has to have its own set of these directories; they cannot be shared by two differently configured Tomcat JVM instances. Why would separate instances require their own jar files? Is it not possible to point two concurrently executing jvm's at the same set of jar files? It is entirely possible, of course. But you'll have some maintenance work to do if ever you wish to change the jars for _one_ Tomcat installation among many. -- Francis Galiegue ONE2TEAM Ingénieur système Mob : +33 (0) 683 877 875 Tel : +33 (0) 178 945 552 f...@one2team.com 40 avenue Raymond Poincaré 75116 Paris - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: TOMCAT_BASE and TOMCAT_HOME
From: chad.da...@emc.com [mailto:chad.da...@emc.com] Subject: TOMCAT_BASE and TOMCAT_HOME I'm reading Tomcat: The Definitive Guide Better to read the real Tomcat documentation, including the RUNNING.txt file in the download. This means that for multiple instances to work, each Tomcat instance has to have its own set of these directories; they cannot be shared by two differently configured Tomcat JVM instances. The book is somewhat suspect, unless it explains the reasoning behind such a statement. JAR files can certainly be shared across JVM instances (that's how the JRE works), but doing so will create versioning and updating issues. - 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_BASE and TOMCAT_HOME
Why would separate instances require their own jar files? Is it not possible to point two concurrently executing jvm's at the same set of jar files? It is entirely possible, of course. But you'll have some maintenance work to do if ever you wish to change the jars for _one_ Tomcat installation among many. Yes, but is there a technical, i.e. JVM, reason that two running instances of tomcat can't concurrently use the same shared libraries?
Re: TOMCAT_BASE and TOMCAT_HOME
On Tue, Oct 18, 2011 at 16:58, chad.da...@emc.com wrote: Yes, but is there a technical, i.e. JVM, reason that two running instances of tomcat can't concurrently use the same shared libraries? No there isn't. -- Francis Galiegue ONE2TEAM Ingénieur système Mob : +33 (0) 683 877 875 Tel : +33 (0) 178 945 552 f...@one2team.com 40 avenue Raymond Poincaré 75116 Paris - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: TOMCAT_BASE and TOMCAT_HOME
On 18/10/2011 15:58, chad.da...@emc.com wrote: Why would separate instances require their own jar files? Is it not possible to point two concurrently executing jvm's at the same set of jar files? It is entirely possible, of course. But you'll have some maintenance work to do if ever you wish to change the jars for _one_ Tomcat installation among many. Yes, but is there a technical, i.e. JVM, reason that two running instances of tomcat can't concurrently use the same shared libraries? None at all. Further, you can have both a $CATALINA_HOME/lib and a $CATALINA_BASE/lib with BASE always taking priority over HOME. Therefore, use HOME by default and override on a per instance basis if you need to. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: TOMCAT_BASE and TOMCAT_HOME
2011/10/18 chad.da...@emc.com: I'm reading Tomcat: The Definitive Guide to learn how to separate your instance specific files from your core installation, i.e. CATALINE_HOME; this separation is for providing a clean upgrade path as well as running multiple instances of tomcat off of the same installation. A lot of the stuff they recommend pulling out into instance specific directories make sense, such as conf and webapps -- those folders contain the obvious application specific data. Recommend? What belongs to CATALINA_BASE and what to CATALINA_HOME is fixed. You cannot pull one set of subdirectories and omit some others. :/ There was a change in 6.0.21 (6.0.24 - released 2010-01-21) that now a Tomcat instance looks both into $CATALINA_BASE\lib and $CATALINA_HOME\lib for libraries. It is configurable in conf/catalina.properties So nowadays you would usually leave standard Tomcat libraries in $CATALINA_HOME and your instance-specific ones (e.g. database drivers) in $CATALINA_BASE. Any other libraries are better to be in your webapp's WEB-INF\lib. If they are not, your chances for observing a PermGen memory leak are higher. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Tomcat configuration under webApp
My system: Tomcat 6.0.18 --- Linux Red Hat 4 -- Java 6 Hi folk, does anyone of you knows where I can get some materials in order to understand how Tomcat works with sub-directories within an exploded-war file? I clarify the question: I have the below structure and what I don't understand is why those xml files that are also under /Tomcat/conf/ are put under such a webApp folder. My understanding is that having them under one own folder they can be customized for any specific war, am I right? /tomcat/apps/webAppName{ Catalina catalina.properties log4j.properties tomcat-users.xml catalina.policy context.xml server.xmlweb.xml } I'm asking this because the IT department of the Company where I work as consultant, is not giving me any write privileges to modify some files, neither they're allowing me to copy, by myself, a .war file under webApp. In the end, with those files I can customize the catalina.properties, tomcat-users to deploy my webApp from the browser, the context and the like.. Do you think is this the point? Probably the qeustion is trivial but I'm on my own and have no one else to ask. Thanks in advance, Ettore. -- View this message in context: http://old.nabble.com/Tomcat-configuration-under-webApp-tp32675490p32675490.html Sent from the Tomcat - User mailing list archive at Nabble.com. - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: JspServlet - Unexpected behavior, possible bug...
2011/10/18 Nathan Potter npot...@opendap.org: On Oct 18, 2011, at 6:50 AM, Konstantin Kolinko wrote: 2011/10/17 Nathan Potter npot...@opendap.org: Greetings, I am new to this list and I apologize in advance if this has been covered (although searching the archives did not lead me to a related thread): In my web application I need to utilize the JSP servlet, but I need to use a different servlet mapping: servlet-mapping servlet-namejsp/servlet-name url-pattern/jsp/*/url-pattern /servlet-mapping This mapping works great, but I have noticed an odd thing: - If I request a URL that references an existing JSP it works. http://localhost:8080/test/jsp/index.jsp - If I request a URL that references a file that does not exist I get a 404 error, as expected. http://localhost:8080/test/jsp/doesnotexist - If I request a URL (with a trailing / character) that references an existing directory within the the JSP servlet's purview. I get a 404 error (which seems reasonable). http://localhost:8080/test/jsp/foo - BUT, If I request a URL (without a trailing slash) that references an existing directory within the the JSP servlet's purview, I get an HTTP status 500 (Internal Server Error). http://localhost:8080/test/jsp/foo I think this is incorrect behavior. When I do the same experiment with the default servlet I get an empty directory, but no error. I looked at the Tomcat code referenced by the stack trace: org.apache.jasper.JasperException: File /jsp/foo not found org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:51) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:409) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:116) org.apache.jasper.compiler.JspUtil.getInputStream(JspUtil.java:851) org.apache.jasper.xmlparser.XMLEncodingDetector.getEncoding(XMLEncodingDetector.java:108) org.apache.jasper.compiler.ParserController.determineSyntaxAndEncoding(ParserController.java:348) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:207) org.apache.jasper.compiler.ParserController.parseDirectives(ParserController.java:120) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:180) org.apache.jasper.compiler.Compiler.compile(Compiler.java:354) org.apache.jasper.compiler.Compiler.compile(Compiler.java:334) org.apache.jasper.compiler.Compiler.compile(Compiler.java:321) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:592) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:328) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:313) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:260) javax.servlet.http.HttpServlet.service(HttpServlet.java:717) And I can see that in JspServlet in lines 312 - 316: try { wrapper.service(request, response, precompile); } catch (FileNotFoundException fnfe) { handleMissingResource(request, response, jspUri); } The call is being serviced. Unfortunately when this problem occurs a JasperException is throw, not a FileNotFoundException and the handleMissingResource() path way is skipped Any thoughts? It strikes me that this situation is one that can easily be incurred by a type in the URL and so I don't that that an HTTP staus of 500 should be returned in this situation. What exactly x.y.z Tomcat version is that? 6.0.33 I think it is OK to file a bug report for this issue. Best regards, Konstantin Kolinko - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: TOMCAT_BASE and TOMCAT_HOME
Yes, but is there a technical, i.e. JVM, reason that two running instances of tomcat can't concurrently use the same shared libraries? None at all. Further, you can have both a $CATALINA_HOME/lib and a $CATALINA_BASE/lib with BASE always taking priority over HOME. Therefore, use HOME by default and override on a per instance basis if you need to. Is the override on a wholesale basis, or on a per jar basis?
Re: TOMCAT_BASE and TOMCAT_HOME
On 18/10/2011 16:15, chad.da...@emc.com wrote: Yes, but is there a technical, i.e. JVM, reason that two running instances of tomcat can't concurrently use the same shared libraries? None at all. Further, you can have both a $CATALINA_HOME/lib and a $CATALINA_BASE/lib with BASE always taking priority over HOME. Therefore, use HOME by default and override on a per instance basis if you need to. Is the override on a wholesale basis, or on a per jar basis? Neither. It is per class. Mark - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: TOMCAT_BASE and TOMCAT_HOME
This means that for multiple instances to work, each Tomcat instance has to have its own set of these directories; they cannot be shared by two differently configured Tomcat JVM instances. The book is somewhat suspect, unless it explains the reasoning behind such a statement. JAR files can certainly be shared across JVM instances (that's how the JRE works), but doing so will create versioning and updating issues. Maybe I'm misreading, but it seems pretty clear . 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: [OT] JspServlet - Unexpected behavior, possible bug...
In addition to enriching the community (which helps *you* when we all treat it as the norm) and helping out others who may come along with similar problems, explaining how you worked it out gives you a chance to show how clever you were. :-) -- Mark H. Wood, Lead System Programmer mw...@iupui.edu Asking whether markets are efficient is like asking whether people are smart. pgptewAwUur2C.pgp Description: PGP signature
Re: Tomcat configuration under webApp
On 18 Oct 2011, at 16:12, ettoregia ettore...@gmail.com wrote: My system: Tomcat 6.0.18 --- Linux Red Hat 4 -- Java 6 Hi folk, does anyone of you knows where I can get some materials in order to understand how Tomcat works with sub-directories within an exploded-war file? http://tomcat.apache.org/ ? I clarify the question: I have the below structure and what I don't understand is why those xml files that are also under /Tomcat/conf/ are put under such a webApp folder. My understanding is that having them under one own folder they can be customized for any specific war, am I right? /tomcat/apps/webAppName{ Catalina catalina.properties log4j.properties tomcat-users.xml catalina.policy context.xml server.xmlweb.xml } The above is not a standard file layout and I don't understand what the braces mean. What is in the server.xml file? p I'm asking this because the IT department of the Company where I work as consultant, is not giving me any write privileges to modify some files, neither they're allowing me to copy, by myself, a .war file under webApp. In the end, with those files I can customize the catalina.properties, tomcat-users to deploy my webApp from the browser, the context and the like.. Do you think is this the point? Probably the qeustion is trivial but I'm on my own and have no one else to ask. Thanks in advance, Ettore. -- View this message in context: http://old.nabble.com/Tomcat-configuration-under-webApp-tp32675490p32675490.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 - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Tomcat configuration under webApp
Pid * wrote: On 18 Oct 2011, at 16:12, ettoregia ettore...@gmail.com wrote: My system: Tomcat 6.0.18 --- Linux Red Hat 4 -- Java 6 Hi folk, does anyone of you knows where I can get some materials in order to understand how Tomcat works with sub-directories within an exploded-war file? http://tomcat.apache.org/ ? I clarify the question: I have the below structure and what I don't understand is why those xml files that are also under /Tomcat/conf/ are put under such a webApp folder. My understanding is that having them under one own folder they can be customized for any specific war, am I right? /tomcat/apps/webAppName{ Catalina catalina.properties log4j.properties tomcat-users.xml catalina.policy context.xml server.xmlweb.xml } The above is not a standard file layout and I don't understand what the braces mean. Sorry I meant /tomcat/apps/myAppName/conf/ and under conf all the files mentioned above What is in the server.xml file? p I'm asking this because the IT department of the Company where I work as consultant, is not giving me any write privileges to modify some files, neither they're allowing me to copy, by myself, a .war file under webApp. In the end, with those files I can customize the catalina.properties, tomcat-users to deploy my webApp from the browser, the context and the like.. Do you think is this the point? Probably the qeustion is trivial but I'm on my own and have no one else to ask. Thanks in advance, Ettore. -- View this message in context: http://old.nabble.com/Tomcat-configuration-under-webApp-tp32675490p32675490.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 - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org -- View this message in context: http://old.nabble.com/Tomcat-configuration-under-webApp-tp32675490p32676068.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
http put not working for larger files
Hello, I need help in resolving issue with tomcat. I am using tomcat 6.0.33, java 1.6.0_20 and Red Hat 4.5.1-4 . Our application under tomcat has put method to save data on the server. Data send by remote apache server using apr socket and chunked encoding. It is working if the files around 40K or less, but for example for 11M file I am not getting any errors on server, but size of input stream is around 40K. @PUT Response put_data (InputStream input, @PathParam(id) String url,@Context HttpServletRequest req){ digestInputStream = new DigestInputStream( new BufferedInputStream(input), hash); byte[] buffer = new byte[8192]; while (digestInputStream.read(buffer) != -1) { byteArrayOutputStream.write(buffer); .. } ... } I added max-post-size-bytes=0 and upped timeout on http connector but no effect. IConnector port=8080 protocol=HTTP/1.1 socket.rxBufSize=4194304 max-post-size-bytes=0 socket.appReadBufSize=4194304 connectionTimeout=6 keepAliveTimeout=6 redirectPort=8443 / What can cause premature close of input stream? - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
RE: TOMCAT_BASE and TOMCAT_HOME
From: chad.da...@emc.com [mailto:chad.da...@emc.com] Subject: RE: TOMCAT_BASE and TOMCAT_HOME This means that for multiple instances to work, each Tomcat instance has to have its own set of these directories; they cannot be shared by two differently configured Tomcat JVM instances. The book is somewhat suspect, unless it explains the reasoning behind such a statement. Maybe I'm misreading, but it seems pretty clear . I didn't say it wasn't clear, I said the above quoted statement is wrong, thus making the book somewhat untrustworthy. Paper has the unfortunate tendency to be out of date before it's published, with little chance of correction. - 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
Reuse mod ajp proxy connections
Hello, We have a Tomcat 5.5.25 server connected to Apache 2.2.9 over mod_ajp_proxy. Monitoring of the servers shows that AJP proxy connections are not reused but closed and reopened. Frequent closing of TCP connections leaves many connections in TIME_WAIT state and this is something we would prefer to avoid if possible. While reviewing of Apache, Tomcat and mod_proxy settings I found that the response from Tomcat contains a flag that indicates if the TCP connection should be reused after the end of a request-handling cycle. http://httpd.apache.org/docs/2.2/mod/mod_proxy_ajp.html#resppacketstruct (See Response packet structure) My understanding of the *reuse* flag in AJP13_END_RESPONSE structure is that this flag is hard coded and cannot be controlled by configuration settings. I couldn't find any in Tomcat AJP connector configuration that could do that. Since Tomcat is sending the response, is there any way to control the reuse of AJP TCP connection through Tomcat configuration? I hope I don't have to resort to editing and recompilation of the mod_ajp_proxy module :-) Thanks, Dimitar
Re: JspServlet - Unexpected behavior, possible bug...
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Konstantin, On 10/18/2011 11:13 AM, Konstantin Kolinko wrote: I think it is OK to file a bug report for this issue. Reported against 7.0 trunk (where it is also reproducible), including simple test case. https://issues.apache.org/bugzilla/show_bug.cgi?id=52051 - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6d1TMACgkQ9CaO5/Lv0PDsmACglT2Xu8TU86mHzpXV5ZKqJAWu 0NIAmgNiyLXLZ/E10JkOHhCa10KuGDqI =hbBp -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Reuse mod ajp proxy connections
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Dimitar, On 10/18/2011 2:15 PM, Dimitar Georgievski wrote: We have a Tomcat 5.5.25 server connected to Apache 2.2.9 over mod_ajp_proxy. Monitoring of the servers shows that AJP proxy connections are not reused but closed and reopened. Frequent closing of TCP connections leaves many connections in TIME_WAIT state and this is something we would prefer to avoid if possible. AJP is intended to maintain persistent connections. Something must be going wrong or your configuration must be forcing such behavior. My understanding of the *reuse* flag in AJP13_END_RESPONSE structure is that this flag is hard coded and cannot be controlled by configuration settings. I couldn't find any in Tomcat AJP connector configuration that could do that. Since Tomcat is sending the response, is there any way to control the reuse of AJP TCP connection through Tomcat configuration? I hope I don't have to resort to editing and recompilation of the mod_ajp_proxy module :-) Can you post your AJP Connector settings from conf/server.xml as well as your mod_proxy_ajp configuration as well? - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6d1iEACgkQ9CaO5/Lv0PCnGgCcCmrD69wV7EAdj3qMbuMC3pZz jmQAn3X6C9buUoCS7SwCDHIR6HzJqGVY =HWpj -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: http put not working for larger files
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Lyudmila, On 10/18/2011 12:26 PM, Lyudmila L. Balakireva wrote: I am using tomcat 6.0.33, java 1.6.0_20 and Red Hat 4.5.1-4 . Thanks. Our application under tomcat has put method to save data on the server. Data send by remote apache server using apr socket and chunked encoding. So you have Apache as a client for Tomcat? It is working if the files around 40K or less, but for example for 11M file I am not getting any errors on server, but size of input stream is around 40K. So files look like they are truncated around 40K? @PUT Response put_data (InputStream input, @PathParam(id) String url,@Context HttpServletRequest req){ What is that stuff up there? digestInputStream = new DigestInputStream( new BufferedInputStream(input), hash); byte[] buffer = new byte[8192]; while (digestInputStream.read(buffer) != -1) { byteArrayOutputStream.write(buffer); .. } You have a bug in this loop: you will always write a multiple of 8192 bytes to the disk, including some garbage at the end of most files. Consider capturing the return value from InputStream.read() and using it in your call to OutputStream.write(). ... } I added max-post-size-bytes=0 and upped timeout on http connector but no effect. Are there any log messages that are emitted during/after the upload? IConnector port=8080 protocol=HTTP/1.1 socket.rxBufSize=4194304 socket.appReadBufSize=4194304 Wow, a 4MiB socket receive buffer and a 4MiB app buffer, too? That seems very wasteful. Note that socket.appReadBufSize is only applicable for the NIO connector, which you haven't specified in your configuration. Also, the socket.* attributes are only recognized in Tomcat 7, not in Tomcat 6 which you are using. Are you reading the right documentation? max-post-size-bytes=0 What's wrong with maxPostSize? http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html Also, what is the content-type being provided to the server? If it's anything other than application/x-www-form-urlencoded, then Tomcat does not use maxPostSize to limit the upload. When Tomcat does veto a POST with too much data, it logs an error ans simply does not parse the request entity. connectionTimeout=6 keepAliveTimeout=6 redirectPort=8443 / What can cause premature close of input stream? Are you sure it's being closed too soon? Do you have any debugging in your own code to rule-out application error? - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6d2fEACgkQ9CaO5/Lv0PDj1wCdGVSBHyevpXi9lr+rVIda2shu 1MIAnj4w5Qh2MKLII4zQ3wc/XGanUJi3 =NPv6 -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: http put not working for larger files
thanks for your reply -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Lyudmila, On 10/18/2011 12:26 PM, Lyudmila L. Balakireva wrote: I am using tomcat 6.0.33, java 1.6.0_20 and Red Hat 4.5.1-4 . Thanks. Our application under tomcat has put method to save data on the server. Data send by remote apache server using apr socket and chunked encoding. So you have Apache as a client for Tomcat? yes It is working if the files around 40K or less, but for example for 11M file I am not getting any errors on server, but size of input stream is around 40K. So files look like they are truncated around 40K? Also the size I am getting on tomcat from sending the same file varies (around 40-50 K). It is look like possible read timeout or what?. @PUT Response put_data (InputStream input, @PathParam(id) String url,@Context HttpServletRequest req){ What is that stuff up there? this is jersey REST API annotation @PUT digestInputStream = new DigestInputStream( new BufferedInputStream(input), hash); byte[] buffer = new byte[8192]; while (digestInputStream.read(buffer) != -1) { byteArrayOutputStream.write(buffer); .. } sorry, cut code too much ..., I have normal loop: while ((len = digestInputStream.read(buf)) != -1) { byteArrayOutputStream.write(buf, 0, len); } You have a bug in this loop: you will always write a multiple of 8192 bytes to the disk, including some garbage at the end of most files. Consider capturing the return value from InputStream.read() and using it in your call to OutputStream.write(). ... } I added max-post-size-bytes=0 and upped timeout on http connector but no effect. Are there any log messages that are emitted during/after the upload? yes, the program continue to execute with truncated stream. IConnector port=8080 protocol=HTTP/1.1 socket.rxBufSize=4194304 socket.appReadBufSize=4194304 Wow, a 4MiB socket receive buffer and a 4MiB app buffer, too? That seems very wasteful. Note that socket.appReadBufSize is only applicable for the NIO connector, which you haven't specified in your configuration. Also, the socket.* attributes are only recognized in Tomcat 7, not in Tomcat 6 which you are using. Are you reading the right documentation? Apache sends chunk of 4194304 in size, I was experimenting on effect of buffer size on this situation. But no difference as only silly buffer size. I installed tomcat 7, but it is the same. max-post-size-bytes=0 What's wrong with maxPostSize? http://tomcat.apache.org/tomcat-6.0-doc/config/ajp.html Also, what is the content-type being provided to the server? If it's anything other than application/x-www-form-urlencoded, then Tomcat does not use maxPostSize to limit the upload. When Tomcat does veto a POST with too much data, it logs an error ans simply does not parse the request entity. So no any restriction on PUT ? I do not have content-type since it is our own combinations of headers and binary stream. connectionTimeout=6 keepAliveTimeout=6 redirectPort=8443 / What can cause premature close of input stream? Are you sure it's being closed too soon? Do you have any debugging in your own code to rule-out application error? - -chris Yes, packages are sent by apache client untill eof, no socket problem reported. And it works for binary and text. And the input stream I am getting from request in tomcat already truncated for some longer lasting requests. -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6d2fEACgkQ9CaO5/Lv0PDj1wCdGVSBHyevpXi9lr+rVIda2shu 1MIAnj4w5Qh2MKLII4zQ3wc/XGanUJi3 =NPv6 -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
modified legacy catalina.sh forces kill on every stop
I'm migrating a 5.5 version of tomcat. Whoever set this up in the first place, modified catalina.sh to make every stop a force. Here's the modified stop section of catalina.sh. # Force a shutdown every time. # if [ $FORCE -eq 1 ]; then if [ ! -z $CATALINA_PID ]; then echo Killing: `cat $CATALINA_PID` kill -9 `cat $CATALINA_PID` rm $CATALINA_PID else echo Kill failed: \$CATALINA_PID not set fi # fi I'm hoping to remove this completely during the modification. But I'd like to make a best effort attempt to understand why someone would have done this. Does anyone know of any common reasons, or, shall we say, valid reasons for making this modification?
Re: Tomcat configuration under webApp
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Ettore, On 10/18/2011 11:12 AM, ettoregia wrote: I'm asking this because the IT department of the Company where I work as consultant, is not giving me any write privileges to modify some files, neither they're allowing me to copy, by myself, a .war file under webApp. In the end, with those files I can customize the catalina.properties, tomcat-users to deploy my webApp from the browser, the context and the like.. Do you think is this the point? If you can deploy webapps through the web interface, that should be all you need. None of the files you mentioned (Catalina, catalina.properties, log4j.properties, tomcat-users.xml, catalina.policy, context.xml, server.xml, web.xml) make sense to be directly in your webapp's deployment directory. The file web.xml should be in your webapp's WEB-INF directory, the file context.xml should be in your webapp's META-INF directory, and the file log4j.properties should probably be in WEB-INF/classes. catalina.properties and catalina.policy are only useful at the server-level, and if the IT admins don't want you to have access to them, you'll have to ask them to make whatever changes you require to those files. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6d8a4ACgkQ9CaO5/Lv0PBjvgCeMten3Hbrg9CEG5M87NZn/nEx pYUAoJVlDW43JDobcCsbWaSWMLu7JprC =ONsl -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: modified legacy catalina.sh forces kill on every stop
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Chad, On 10/18/2011 5:32 PM, chad.da...@emc.com wrote: I'm migrating a 5.5 version of tomcat. Whoever set this up in the first place, modified catalina.sh to make every stop a force. Here's the modified stop section of catalina.sh. # Force a shutdown every time. # if [ $FORCE -eq 1 ]; then if [ ! -z $CATALINA_PID ]; then echo Killing: `cat $CATALINA_PID` kill -9 `cat $CATALINA_PID` rm $CATALINA_PID else echo Kill failed: \$CATALINA_PID not set fi # fi I'm hoping to remove this completely during the modification. But I'd like to make a best effort attempt to understand why someone would have done this. Does anyone know of any common reasons, or, shall we say, valid reasons for making this modification? If your webapp creates non-daemon threads, then the JVM might never shut down. You can find that out quite easily: just stop Tomcat in the usual way (i.e. without using kill in that script) and see if the JVM process completes after a few seconds (how long you should wait depends entirely on how much work your webapp does on shutdown). If it doesn't stop after a while, take a thread dump to see what threads are still running. If there are any non-daemon threads running, they'll be labelled as such and you can try to trace their origin. It might be that your server requires the use of 'kill' -- that would be too bad. Of course, it would be better to use a script that calls catalina.sh with the -force option instead of modifying the script to ALWAYS force the shutdown. So, you can still use the upgraded scripts and enable forcing shutdown if you want. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6d860ACgkQ9CaO5/Lv0PBMjwCffUUlg9d936eyXPy7UZb04uJL sfQAn1+XIPlmw3Y/hTUsMgOxwvuyB0+6 =ajc9 -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: TOMCAT_BASE and TOMCAT_HOME
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Chuck, On 10/18/2011 10:50 AM, Caldarale, Charles R wrote: From: chad.da...@emc.com [mailto:chad.da...@emc.com] Subject: TOMCAT_BASE and TOMCAT_HOME I'm reading Tomcat: The Definitive Guide Better to read the real Tomcat documentation, including the RUNNING.txt file in the download. This means that for multiple instances to work, each Tomcat instance has to have its own set of these directories; they cannot be shared by two differently configured Tomcat JVM instances. The book is somewhat suspect Plus, Jason is a terrible liar. :) No, there's more context to that quote (from Chapter 2, under Relocating the Web Applications Directory around the middle of page 40): The trick to making this work is that you must set the CATALINA_HOME environment variable to where you installed the Tomcat binary distribution (these files come from http://tomcat.apache.org), and you must set the CATALINA_BASE environment variable to a different path where you are storing a JVM instance’s files (these files come from you). When you have both of these environment variables set and you start Tomcat, it will run using your files in CATALINA_BASE, on top of the Tomcat binary distribution in CATALINA_HOME. This is built-in feature of Tomcat allows you to keep Tomcat’s files separate from your files, but still makes it possible to modify everything you need to modify to configure everything the way you need it to be. Chad, I think TC:TDG was suggesting that if you wanted separate libraries for a particular webapp (say, a JDBC driver),. you will want to create instance-specific lib directories. Note that no current version of Tomcat (6.0, 7.0) uses the shared versus common class loaders anymore (by default -- you can put them back if you really want), so we're just talking about CATALINA_BASE/lib at this point. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6d9c0ACgkQ9CaO5/Lv0PB5OgCghwH4xX/nX6vdqSXSI7W3FIfb TIsAn162bOy5hmfQ6lQQ/n03SlnMtNC8 =SKtT -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: JspServlet - Unexpected behavior, possible bug...
Chris et al., Thanks having a careful look at the 500 status thing. I realize that our application is not using Tomcat in the usual manner, and that this unusual use does not a use case make. So the fact that you're willing to consider fixing it is much appreciated. I'll keep looking at urlrewritefilter as a way to mitigate the issue. Thanks, Nathan On Oct 18, 2011, at 12:10 PM, Christopher Schultz wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Nathan, At this point, all discussion is academic because you sound like you are stuck with what you've got. I would recommend fixing the apparent bugs in your replacement default servlet, but I don't get to make requirements decisions on your project :) On 10/17/2011 11:29 PM, Nathan Potter wrote: I seem to be exploring the set of all possible mapping permutations. When you change the mapping to / from /* the methods HttpServletRequest.getPathInfo() and HttpServletRequest.getPathTranslated() change their output from a useful string to null. You shouldn't be using getPathTranslated, anyway, as there is no guarantee that a physical file system actually exists. getPathTranslated uses getPathInfo and returns null when there is no path info, so the behavior of these methods are kind of locked- together. getPathInfo will return everything after the servlet path. When using /* I have no idea what the servlet path will be, especially when you also have /hyrix/* or whatever mapped to the same URL. Technically, the servlet maps in two ways -- I would expect the longest path-match to be selected first (as spec requires it) so you get the behavior of /foo and /hyrox/foo being essentially the same request. I have no idea why you'd want that behavior, but hey, it's your webapp. If you use / as the url-pattern, the servlet will get requests that don't match anything else. It's *not* a prefix mapping, it's a default mapping. I'm not surprised that getPathInfo goes to null when you use it, since the entire URI ends up being the servlet path and there's nothing else left-over for the path info. I'm curious as to why you are using getPathInfo in the first place. Are you or are you not serving static content? Are you expecting to look for resources on the filesystem? I still don't really understand why Tomcat's DefaultServlet doesn't meet your needs. If all you really need is /hyrix/* to look like /*, then that can be done with server-side forwarding using something like URLRewrite (as suggested by another poster at some point). Additionally the HttpServletRequest.getServletPath() method which has somewhat different semantics when the mapping is / rather than /*. Yes. Essentially, getServletPath and getPathInfo will slice-up the request URI in different ways depending upon the url-mapping you have given it in web.xml. The web application uses all three of those methods and not very flexible in the way that it does so. That's a shame. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6dzxIACgkQ9CaO5/Lv0PBRWACfSfLiV2R9tucSrTYEgiGEEfPD 3vcAnj3pfStK9lADJVMfiLOlWzlclK4J =2Aqs -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org = = = Nathan Potterndp at opendap.org OPeNDAP, Inc.+1.541.231.3317 - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Reuse mod ajp proxy connections
On 18/10/2011 20:40, Christopher Schultz wrote: Dimitar, On 10/18/2011 2:15 PM, Dimitar Georgievski wrote: We have a Tomcat 5.5.25 server connected to Apache 2.2.9 over mod_ajp_proxy. Monitoring of the servers shows that AJP proxy connections are not reused but closed and reopened. Frequent closing of TCP connections leaves many connections in TIME_WAIT state and this is something we would prefer to avoid if possible. You could update both Tomcat and HTTPD to more recent versions. p AJP is intended to maintain persistent connections. Something must be going wrong or your configuration must be forcing such behavior. My understanding of the *reuse* flag in AJP13_END_RESPONSE structure is that this flag is hard coded and cannot be controlled by configuration settings. I couldn't find any in Tomcat AJP connector configuration that could do that. Since Tomcat is sending the response, is there any way to control the reuse of AJP TCP connection through Tomcat configuration? I hope I don't have to resort to editing and recompilation of the mod_ajp_proxy module :-) Can you post your AJP Connector settings from conf/server.xml as well as your mod_proxy_ajp configuration as well? -chris - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org signature.asc Description: OpenPGP digital signature
Re: Tomcat configuration under webApp
On Tue, 2011-10-18 at 09:15 -0700, ettoregia wrote: Pid * wrote: On 18 Oct 2011, at 16:12, ettoregia ettore...@gmail.com wrote: My system: Tomcat 6.0.18 --- Linux Red Hat 4 -- Java 6 Hi folk, does anyone of you knows where I can get some materials in order to understand how Tomcat works with sub-directories within an exploded-war file? http://tomcat.apache.org/ ? I clarify the question: I have the below structure and what I don't understand is why those xml files that are also under /Tomcat/conf/ are put under such a webApp folder. My understanding is that having them under one own folder they can be customized for any specific war, am I right? /tomcat/apps/webAppName{ Catalina catalina.properties log4j.properties tomcat-users.xml catalina.policy context.xml server.xmlweb.xml } The above is not a standard file layout and I don't understand what the braces mean. Sorry I meant /tomcat/apps/myAppName/conf/ and under conf all the files mentioned above That is a strange layout. Is it possible that the IT people are running each webapp in a separate JVM and pointing CATALINA_BASE to /tomcat/apps/appName ? What is in the server.xml file? p I'm asking this because the IT department of the Company where I work as consultant, is not giving me any write privileges to modify some files, neither they're allowing me to copy, by myself, a .war file under webApp. In the end, with those files I can customize the catalina.properties, tomcat-users to deploy my webApp from the browser, the context and the like.. Do you think is this the point? Probably the qeustion is trivial but I'm on my own and have no one else to ask. Thanks in advance, Ettore. -- View this message in context: http://old.nabble.com/Tomcat-configuration-under-webApp-tp32675490p32675490.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 - 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 configuration under webApp
On 18/10/2011 23:29, Tim Watts wrote: On Tue, 2011-10-18 at 09:15 -0700, ettoregia wrote: Pid * wrote: On 18 Oct 2011, at 16:12, ettoregia ettore...@gmail.com wrote: My system: Tomcat 6.0.18 --- Linux Red Hat 4 -- Java 6 Hi folk, does anyone of you knows where I can get some materials in order to understand how Tomcat works with sub-directories within an exploded-war file? http://tomcat.apache.org/ ? I clarify the question: I have the below structure and what I don't understand is why those xml files that are also under /Tomcat/conf/ are put under such a webApp folder. My understanding is that having them under one own folder they can be customized for any specific war, am I right? /tomcat/apps/webAppName{ Catalina catalina.properties log4j.properties tomcat-users.xml catalina.policy context.xml server.xmlweb.xml } The above is not a standard file layout and I don't understand what the braces mean. Sorry I meant /tomcat/apps/myAppName/conf/ and under conf all the files mentioned above That is a strange layout. Is it possible that the IT people are running each webapp in a separate JVM and pointing CATALINA_BASE to /tomcat/apps/appName ? If they are, then it might make a bit more sense. I wonder if the OP was given more precise deployment instructions that are being misunderstood... p What is in the server.xml file? p I'm asking this because the IT department of the Company where I work as consultant, is not giving me any write privileges to modify some files, neither they're allowing me to copy, by myself, a .war file under webApp. In the end, with those files I can customize the catalina.properties, tomcat-users to deploy my webApp from the browser, the context and the like.. Do you think is this the point? Probably the qeustion is trivial but I'm on my own and have no one else to ask. Thanks in advance, Ettore. -- View this message in context: http://old.nabble.com/Tomcat-configuration-under-webApp-tp32675490p32675490.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 - 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 signature.asc Description: OpenPGP digital signature
Re: Tomcat configuration under webApp
On 18/10/2011 23:29, Tim Watts wrote: Sorry I meant /tomcat/apps/myAppName/conf/ and under conf all the files mentioned above That is a strange layout. Is it possible that the IT people are running each webapp in a separate JVM and pointing CATALINA_BASE to /tomcat/apps/appName ? What is in the server.xml file? Question still stands... p signature.asc Description: OpenPGP digital signature
Re: Reuse mod ajp proxy connections
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Pid, On 10/18/2011 6:17 PM, Pid wrote: On 18/10/2011 20:40, Christopher Schultz wrote: Dimitar, On 10/18/2011 2:15 PM, Dimitar Georgievski wrote: We have a Tomcat 5.5.25 server connected to Apache 2.2.9 over mod_ajp_proxy. Monitoring of the servers shows that AJP proxy connections are not reused but closed and reopened. Frequent closing of TCP connections leaves many connections in TIME_WAIT state and this is something we would prefer to avoid if possible. You could update both Tomcat and HTTPD to more recent versions. Nice catch: I didn't notice the old version of Apache httpd in particular. mod_proxy_ajp is relatively new to httpd, and so AJP performance and behavior can vary wildly from point-release to point-release. Dimitar, please upgrade if you can. Or, consider using mod_jk, whose code is much more mature. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6eGUcACgkQ9CaO5/Lv0PA3XQCgk87sg0De8m+udhXkVXyZLqpL DyQAn2eDYjQBq/q49idMBb+T8nck/qxI =6etX -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Reuse mod ajp proxy connections
Hi Chris, Tomcat AJP Connector settings: Connector port=${ajp.port} protocol=AJP/1.3 redirectPort=${ssl.port} maxThreads=750 backlog=100 enableLookups=false emptySessionPath=true connectionTimeout=80 URIEncoding=UTF-8 / Apache MPM worker settings; StartServers 3 ServerLimit 30 MaxClients 750 MinSpareThreads 25 MaxSpareThreads 75 ThreadsPerChild 25 MaxRequestsPerChild 0 Mod proxy settings in Apache ProxyStatus On ProxyRequests Off ProxyTimeout 1800 ProxyPassMatch ^/(.*) ajp://localhost:8009/$1 SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive 1 by monitoring Apache performance through stats provided by mod_status I've noticed that the AJP TCP connection is always closed after Tomcat serves a static resource like CSS, JavaScript, image or a JAR file Thanks, Dimitar On Tue, Oct 18, 2011 at 3:40 PM, Christopher Schultz ch...@christopherschultz.net wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Dimitar, On 10/18/2011 2:15 PM, Dimitar Georgievski wrote: We have a Tomcat 5.5.25 server connected to Apache 2.2.9 over mod_ajp_proxy. Monitoring of the servers shows that AJP proxy connections are not reused but closed and reopened. Frequent closing of TCP connections leaves many connections in TIME_WAIT state and this is something we would prefer to avoid if possible. AJP is intended to maintain persistent connections. Something must be going wrong or your configuration must be forcing such behavior. My understanding of the *reuse* flag in AJP13_END_RESPONSE structure is that this flag is hard coded and cannot be controlled by configuration settings. I couldn't find any in Tomcat AJP connector configuration that could do that. Since Tomcat is sending the response, is there any way to control the reuse of AJP TCP connection through Tomcat configuration? I hope I don't have to resort to editing and recompilation of the mod_ajp_proxy module :-) Can you post your AJP Connector settings from conf/server.xml as well as your mod_proxy_ajp configuration as well? - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6d1iEACgkQ9CaO5/Lv0PCnGgCcCmrD69wV7EAdj3qMbuMC3pZz jmQAn3X6C9buUoCS7SwCDHIR6HzJqGVY =HWpj -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Reuse mod ajp proxy connections
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Dimitar, On 10/18/2011 8:30 PM, Dimitar Georgievski wrote: SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive 1 I'm no expert, but seeing keepalives disabled for a proxy connection would sure make me think that maybe that setting is disabling, ya know, the keepalive-style connection that AJP is supposed to maintain. by monitoring Apache performance through stats provided by mod_status I've noticed that the AJP TCP connection is always closed after Tomcat serves a static resource like CSS, JavaScript, image or a JAR file . How about after a request to a dynamic resource? by monitoring Apache performance through stats provided by mod_status I've noticed that the AJP TCP connection is always closed after Tomcat serves a static resource like CSS, JavaScript, image or a JAR file So you're sure you're seeing the AJP connection close and not just the HTTP connection though it? I'd try NOT disabling keepalives and see if that helps. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6eJWsACgkQ9CaO5/Lv0PB+vQCfTTS+zrEO2pnrQkQMRxjGiON1 NWIAoJPuBwz6yP0ilHCIG1ofUlXVQvpT =dlYi -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org
Re: Reuse mod ajp proxy connections
SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive 1 This setting should control the mod_http_proxy connections. I forgot to mention this Apache server does that. I'll definitely take out these settings, because the http proxy connections should also be persistent. Regarding the upgrade of the Tomcat server we might not be able to do that. The application hosted by Tomcat has dependency on the Tomcat 5.5.x version which limits our options. I'll need to determine yet which version would be compliant with our application. I am also considering to install Apache Portable Runtime to improve connectors performance and determine its effects on the persistence of the proxy connections. What do you think? Thanks, Dimitar On Tue, Oct 18, 2011 at 9:18 PM, Christopher Schultz ch...@christopherschultz.net wrote: -BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Dimitar, On 10/18/2011 8:30 PM, Dimitar Georgievski wrote: SetEnv force-proxy-request-1.0 1 SetEnv proxy-nokeepalive 1 I'm no expert, but seeing keepalives disabled for a proxy connection would sure make me think that maybe that setting is disabling, ya know, the keepalive-style connection that AJP is supposed to maintain. by monitoring Apache performance through stats provided by mod_status I've noticed that the AJP TCP connection is always closed after Tomcat serves a static resource like CSS, JavaScript, image or a JAR file . How about after a request to a dynamic resource? by monitoring Apache performance through stats provided by mod_status I've noticed that the AJP TCP connection is always closed after Tomcat serves a static resource like CSS, JavaScript, image or a JAR file So you're sure you're seeing the AJP connection close and not just the HTTP connection though it? I'd try NOT disabling keepalives and see if that helps. - -chris -BEGIN PGP SIGNATURE- Version: GnuPG v1.4.10 (MingW32) Comment: Using GnuPG with Mozilla - http://enigmail.mozdev.org/ iEYEARECAAYFAk6eJWsACgkQ9CaO5/Lv0PB+vQCfTTS+zrEO2pnrQkQMRxjGiON1 NWIAoJPuBwz6yP0ilHCIG1ofUlXVQvpT =dlYi -END PGP SIGNATURE- - To unsubscribe, e-mail: users-unsubscr...@tomcat.apache.org For additional commands, e-mail: users-h...@tomcat.apache.org