Coding In Paradise: Tomcat JSP Precompilation is SLOW!!
The entire JSP compilation process, using Ant and the jasper2 ant task, takes about 30 minutes! This is far too long. I mean, there are systems that are doing more than just compiling text, such as advanced 3D graphics and speech recognition, that are far faster than Tomcat's JSP compilation. Fun! Why isn't fixing this a huge priority!? http://codinginparadise.org/weblog/2005/01/tomcat-jsp-precompilation-is-slow.html -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412
Re: Coding In Paradise: Tomcat JSP Precompilation is SLOW!!
Julius Davies wrote: Why not hit every URL with curl or wget before deploying and include Tomcat's work directory with your deployment? How does that compare for speed? We've already tried that... First off its the same speed... second there are horrible out of memory issues with the JspPrecompiler. Its a lovely piece of code! Also, have you tried giving Ant some extra heap to play with? I think this is how (on unix): export ANT_OPTS=-Xms256M -Xmx256M How would that help us? Won't it just run out of memory if heap were an issue? Kevin -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: how to tell if Jikes is being run??
Peter Smith wrote: I gleaned info from this mailing list archive and other websites and configured my Tomcat to use the Jikes compiler instead of the one from the Sun JDK. Nothing seems faster, so I must've done something wrong. Question is - is this the only way to tell if I'm actually using Jikes - to see if I'm running/compiling faster?? Yes... 1. remove the work directory 2. Start to compile a page 3. pgrep -f jikes If it shows up then its working. If that doesn't work you'll have to do a killall -3 java and look at the stack trace to make sure the right compiler is being used. In my experience jikes doesn't speed up page compilation much. The problem is that jasper is amazingly slow. Precompile your JSPs anyway. You'll be amazed at how LONG it takes and then thank yourself for not putting your customers through this torture. Kevin -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
JspC to use jikes for speed improvement?
We're using JspC to precompile our webapp to speed up application deployment and reduce memory on the server. Right now it takes FOREVER to compile. Currently the entire build of our app takes 30 seconds but JspC takes 1.5 hours.! Its not like we have that many JSPs either. So I have a few questions. 1. Is there anything obvious I can do to speed it up. 2. Is it possible to get JspC to use jikes? Looking at the source I'm pretty much not sure. Its possible but I can find no way to set the Compiler to use AntCompiler and thus jikes support. It just insists on using JDTool.. (which I haven't benchmarked but am pretty sure its not faster than jikes. Kevin -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat synchronous shutdown?
Shapira, Yoav wrote: The semantic of restart only if you feel like it is useless IMHO. You either want a restart or you don't. If there's an error serious enough to prevent shutdown, you want to look into it anyways. But since your use-case apparently calls for this functionality, go ahead, do it, and have fun ;) I'd probably -1 any proposed patches as useless bloat. It isn't like this functionaliy is new. Most major daemons in existance implement this. Apache, MySQL, Postgres, Sendmail, I could go on. In fact Tomcat is the odd man out on this guy. Every single daemon on my Unix box implements this version of semantic control except Tomcat. The major issue is for scripts. Even most major Linux distribution tools like the sysv init tools under KDE assume that scripts can do shutdown correctly or return an error code. Kevin -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tomcat synchronous shutdown?
Currently Tomcats shutdown model is to politely request that the server shutdown. Most of the time Tomcat is friendly and will shutdown as requested but sometimes it won't do as its told and run forever. This seems to happen if a shutdown hook has problems or it runs out of memory. This is happening to us now that we're on 5.5. Is there a way to: 1. Make Tomcat's ./bin/shutdown.sh script block until it shutdown 2. Return a status code about the shutdown success 3. Optionally terminate the java process with a -9 if it takes too long The same should happen for Tomcat startup btw... Thoughts? Kevin -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Tomcat synchronous shutdown?
Shapira, Yoav wrote: Hi, The Tomcat shutdown script provides support for a -force option, which does a kill -9 on the process ID after the normal shutdown. If you want something beyond that, do it yourself. Accounting for reasons like an OOME or your own code spawning non-daemon threads is outside Tomcat's scope. If it takes too long is a vague criterion at best, as conditions and use-cases wildly differ. Too long can be defined in a configuration file. The major problem is that Tomcat can't do a 'restart'. For example with mysql I can do a /etc/init.d/mysql restart and it will block until stop runs... then start. If stop returns an errorcode then it won't attempt to startup MySQL again. Kevin -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tomcat DEBUG log4j and 5.5.4?
http://jakarta.apache.org/tomcat/tomcat-5.5-doc/logging.html Does this actually work? I followed the steps for log4j and it won't work at all. I still get the standard logging. Are there any properties settings I can use to get more info on the bootstrap process? Kevin -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Does Tomcat 5.5 support jikes?
This isn't fun: !-- -- !-- If you wish to use Jikes to compile JSP pages: -- !-- Set the init parameter compiler to jikes. Define -- !-- the property -Dbuild.compiler.emacs=true when starting Tomcat-- !-- by adding the above to your CATALINA_OPTS environment variable.-- !-- If you get an error reporting that jikes can't use UTF8 encoding, -- !-- try setting the init parameter javaEncoding to ISO-8859-1. -- But I follow these instructions (as I did with Tomcat 5.0) and Tomcat 5.5 STILL uses jdtool! Any thoughts? -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: Does Tomcat 5.5 support jikes?
Kevin A. Burton wrote: This isn't fun: !-- -- !-- If you wish to use Jikes to compile JSP pages: -- !-- Set the init parameter compiler to jikes. Define -- !-- the property -Dbuild.compiler.emacs=true when starting Tomcat-- !-- by adding the above to your CATALINA_OPTS environment variable.-- !-- If you get an error reporting that jikes can't use UTF8 encoding, -- !-- try setting the init parameter javaEncoding to ISO-8859-1. -- But I follow these instructions (as I did with Tomcat 5.0) and Tomcat 5.5 STILL uses jdtool! Any thoughts? It looks like the web.xml configuration is lying about a number of things. Tomcat 5.5 ONLY used the JDTCompiler and will never use the AntCompiler. Theres not even a way to tell it to use one or the other. Thus fork, jikes, etc don't matter anymore. Kevin -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Tomcat 5.5 with DailyRollingFileAppender and DEBUG
Has anyone been able to configure Tomcat with a custom log4j config? For the LIFE of me I can't figure this out. 1. I want to use a DailyRollingFileAppender so that I don't get 1TB log files ;) 2. I want to enable DEBUG for a couple of internal Tomcat classes. Kevin -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
ClassCastException in org.apache.jasper.compiler.TagLibraryInfoImpl (Tomcat5.5)
Whats up with this? java.lang.ClassCastException org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:420) org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:248) org.apache.jasper.compiler.TagLibraryInfoImpl.init(TagLibraryInfoImpl.java:162) org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418) org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539) org.apache.jasper.compiler.Parser.parse(Parser.java:126) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211) org.apache.jasper.compiler.ParserController.parse(ParserController.java:100) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146) org.apache.jasper.compiler.Compiler.compile(Compiler.java:286) org.apache.jasper.compiler.Compiler.compile(Compiler.java:267) org.apache.jasper.compiler.Compiler.compile(Compiler.java:255) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) Heres a copy of the jsp I'm trying to compile: The JSP is just a huge list of taglib definitions: %@ taglib prefix=image uri=http://dev.sofari.com/taglibs/image/; % %@ taglib prefix=c uri=http://java.sun.com/jsp/jstl/core; % %@ taglib prefix=fn uri=http://java.sun.com/jsp/jstl/functions; % %@ taglib prefix=fmturi=http://java.sun.com/jsp/jstl/fmt; % As an example... I can provide you with the full JSP file. -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: ClassCastException in org.apache.jasper.compiler.TagLibraryInfoImpl (Tomcat5.5)
Kevin A. Burton wrote: Whats up with this? java.lang.ClassCastException org.apache.jasper.compiler.TagLibraryInfoImpl.createTagInfo(TagLibraryInfoImpl.java:420) org.apache.jasper.compiler.TagLibraryInfoImpl.parseTLD(TagLibraryInfoImpl.java:248) If I reduce my webapp down to just this: %@ taglib prefix=c uri=http://java.sun.com/jsp/jstl/core; % Then I get: org.apache.jasper.JasperException: Unable to read TLD META-INF/c.tld from JAR file file:/usr/local/jakarta-tomcat-5.5.4/webapps/rojo/ROOT/WEB-INF/lib/standard.jar: org.apache.jasper.JasperException: Failed to load or instantiate TagLibraryValidator class: org.apache.taglibs.standard.tlv.JstlCoreTLV org.apache.jasper.compiler.DefaultErrorHandler.jspError(DefaultErrorHandler.java:50) org.apache.jasper.compiler.ErrorDispatcher.dispatch(ErrorDispatcher.java:407) org.apache.jasper.compiler.ErrorDispatcher.jspError(ErrorDispatcher.java:179) org.apache.jasper.compiler.TagLibraryInfoImpl.init(TagLibraryInfoImpl.java:181) org.apache.jasper.compiler.Parser.parseTaglibDirective(Parser.java:418) org.apache.jasper.compiler.Parser.parseDirective(Parser.java:483) org.apache.jasper.compiler.Parser.parseElements(Parser.java:1539) org.apache.jasper.compiler.Parser.parse(Parser.java:126) org.apache.jasper.compiler.ParserController.doParse(ParserController.java:211) org.apache.jasper.compiler.ParserController.parse(ParserController.java:100) org.apache.jasper.compiler.Compiler.generateJava(Compiler.java:146) org.apache.jasper.compiler.Compiler.compile(Compiler.java:286) org.apache.jasper.compiler.Compiler.compile(Compiler.java:267) org.apache.jasper.compiler.Compiler.compile(Compiler.java:255) org.apache.jasper.JspCompilationContext.compile(JspCompilationContext.java:556) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:296) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) But the standard.jar I'm using is the SAME one from Tomcat 5.5 and even the md5sum is the same (so its not corrupt). The insane parse is that everytime I reload the page I get a diff error (FUN!) java.lang.ClassNotFoundException: org.apache.jsp.pagelet.taglibs_jsp java.net.URLClassLoader$1.run(URLClassLoader.java:199) java.security.AccessController.doPrivileged(Native Method) java.net.URLClassLoader.findClass(URLClassLoader.java:187) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:156) org.apache.jasper.servlet.JasperLoader.loadClass(JasperLoader.java:69) org.apache.jasper.JspCompilationContext.load(JspCompilationContext.java:589) org.apache.jasper.servlet.JspServletWrapper.getServlet(JspServletWrapper.java:137) org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:308) org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:295) org.apache.jasper.servlet.JspServlet.service(JspServlet.java:245) javax.servlet.http.HttpServlet.service(HttpServlet.java:802) BTW. Throughout this ENTIRE process Tomcat has been swallowing the real error. Not very professional :-/ Makes me wonder what other fun little secrets Tomcat has in store for me in the future. Kevin -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: OutOfMemory errors compiling JSPs on 5.0.16 and 5.5.4
Remy Maucherat wrote: On Sat, 13 Nov 2004 17:30:38 -0800, Kevin A. Burton [EMAIL PROTECTED] wrote: Remy Maucherat wrote: On Fri, 12 Nov 2004 17:17:28 -0800, Kevin A. Burton [EMAIL PROTECTED] wrote: - For all my JSPs I fetch them with the URL foo.jsp?jsp_precompile=true to trigger precompilation How many JSPs must be compiled to cause problems ? About 50 or so... it changes every time. Sometimes I have to trigger a precompile twice. I don't quite understand in which cases problems occur: - if you ?jsp_precompile=true 50 times for the same JSP ? - if you ?jsp_precompile=true for 50 different JSPs ? - if you access normally 50 different JSPs (triggering compilation for each one) ? I would understand from your description only the second one is an issue. Can you confirm this ? Yes... I use #2 I trigger a ?jsp_precompile=true for each one of my JSPs and we have around 300-400 ... Around 100 or so it will run out of memory. Kevin -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412
Re: OutOfMemory errors compiling JSPs on 5.0.16 and 5.5.4
Dale, Matt wrote: I've not been following this thread but my guess would be that you are running out of space in the permanent generation of the heap. Get a hold of jvmstat from sun and run visualgc on your JVM, it should become obvious then which pool is running out of space. God! How pathetic is this: http://java.sun.com/performance/jvmstat/#Download This distribution of the jvmstat tools requires J2SE 5.0 with the HotSpot JVM. So now I have to upgrade all our VMs to JDK 5.0 even though earlier versions of jvmstat supported JDK 1.4. Brilliant... who's the marketing genius that though of this one!? ... and of course they don't link to archival versions. The SUN has set my friends ;-) Kevin -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]
Re: OutOfMemory errors compiling JSPs on 5.0.16 and 5.5.4
Remy Maucherat wrote: On Fri, 12 Nov 2004 17:17:28 -0800, Kevin A. Burton [EMAIL PROTECTED] wrote: - For all my JSPs I fetch them with the URL foo.jsp?jsp_precompile=true to trigger precompilation How many JSPs must be compiled to cause problems ? About 50 or so... it changes every time. Sometimes I have to trigger a precompile twice. Note that the VM still shows plenty of memory so I'm not sure what the heck is going on here. I also looked at our file handles and they seem fine too. In that kind of situation, a profiler will have to be used. All I can tell right now is that it has nothing to do with the Java compilation, which is not very surprising. Why is it then that doing a ?jsp_precompile=true for all my JSPs and NO other action causes this? For really large web applications, I think you should precompile as many JSPs as possible anyway, as a JSP compiled dynamically will always use more resources (even if there is no bug in Jasper). Well thats probably an approach we will take but its unfortunate. If i had a profiler I would connect it to figure out whats going on but I'm really not happy with any of them. Kevin -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412
OutOfMemory errors compiling JSPs on 5.0.16 and 5.5.4
I'm having a terrible time trying to get my JSPs compiled on Tomcat. We started having OutOfMemory problems a while back and I've tracked it down to JSP compilation. Here's what I can do to replicate the problem: - shutdown tomcat - remove the work directory - startup tomcat - For all my JSPs I fetch them with the URL foo.jsp?jsp_precompile=true to trigger precompilation After about 10 minutes (and 50-100 JSP files) Tomcat will fail with: SEVERE: Servlet.service() for servlet jsp threw exception java.lang.OutOfMemoryError Note that the VM still shows plenty of memory so I'm not sure what the heck is going on here. I also looked at our file handles and they seem fine too. I've followed all suggestions I've found via Google including: - setting fork to true - using jikes - Migrating to Tomcat 5.5.4 to use jdtool. The machine has PLENTY of memory available: export JAVA_OPTS=-server -Xmx1280M -Xms512M -Djava.awt.headless=true Any suggestions would be appreciated. We're probably going to migrate to using the command line JspC compiler to build all our JSPs before hand so the webapp doesn't need to compile them at runtime but this seems like a cheap workaround. I'd rather Tomcat weren't broken in this regard. Kevin -- Use Rojo (RSS/Atom aggregator). Visit http://rojo.com. Ask me for an invite! Also see irc.freenode.net #rojo if you want to chat. Rojo is Hiring! - http://www.rojonetworks.com/JobsAtRojo.html If you're interested in RSS, Weblogs, Social Networking, etc... then you should work for Rojo! If you recommend someone and we hire them you'll get a free iPod! Kevin A. Burton, Location - San Francisco, CA AIM/YIM - sfburtonator, Web - http://peerfear.org/ GPG fingerprint: 5FB2 F3E2 760E 70A8 6174 D393 E84D 8D04 99F1 4412 - To unsubscribe, e-mail: [EMAIL PROTECTED] For additional commands, e-mail: [EMAIL PROTECTED]