Return-Path: Delivered-To: apmail-jakarta-tomcat-dev-archive@apache.org Received: (qmail 56876 invoked from network); 4 Dec 2002 15:04:50 -0000 Received: from unknown (HELO nagoya.betaversion.org) (192.18.49.131) by daedalus.apache.org with SMTP; 4 Dec 2002 15:04:50 -0000 Received: (qmail 487 invoked by uid 97); 4 Dec 2002 15:05:50 -0000 Delivered-To: qmlist-jakarta-archive-tomcat-dev@jakarta.apache.org Received: (qmail 471 invoked by uid 97); 4 Dec 2002 15:05:50 -0000 Mailing-List: contact tomcat-dev-help@jakarta.apache.org; run by ezmlm Precedence: bulk List-Unsubscribe: List-Subscribe: List-Help: List-Post: List-Id: "Tomcat Developers List" Reply-To: "Tomcat Developers List" Delivered-To: mailing list tomcat-dev@jakarta.apache.org Received: (qmail 459 invoked by uid 98); 4 Dec 2002 15:05:49 -0000 X-Antivirus: nagoya (v4218 created Aug 14 2002) Message-ID: <3DEE1983.70207@mail.more.net> Date: Wed, 04 Dec 2002 09:04:35 -0600 From: Glenn Nielsen Organization: MOREnet User-Agent: Mozilla/5.0 (X11; U; FreeBSD i386; en-US; rv:1.0.0) Gecko/20020909 X-Accept-Language: en-us, en MIME-Version: 1.0 To: tomcat-dev@jakarta.apache.org Subject: Jasper 2 Synchronized JSP compiles Content-Type: text/plain; charset=us-ascii; format=flowed Content-Transfer-Encoding: 7bit X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N X-Spam-Rating: daedalus.apache.org 1.6.2 0/1000/N I have some ideas on how invoking the javac compiler for compiling JSP pages can be improved. Currently Jasper 2 uses ant to do compiles from within Tomcat which are synchronized. There are currently several problems. 1. The known javac memory leak. 2. JSP page compiles are synchronized. 3. Jikes currently can't be configured for windows because the windows build of jikes doesn't support -encoding. 4. We may be getting some bug reports related to this problem noted in the Ant documentation for the javac task: Windows Note:When the modern compiler is used in unforked mode on Windows, it locks up the files present in the classpath of the task, and does not release them. The side effect of this is that you will not be able to delete or move those files later on in the build. The workaround is to fork when invoking the compiler. Recommendation: Change Jasper 2 so that it tells ant to fork the javac compile. This should remove the need to synchronize the compiles. It will also move java compilation outside of the JVM process Tomcat is running in saving JVM heap memory and reducing GC overhead from objects created for JSP compiles. This could be done by just adding another parameter called "fork" to the JspServlet paramters. If fork=true ant forks the javac compile and no synchronization is done. The default for fork would be false. Comments? Regards, Glenn -- To unsubscribe, e-mail: For additional commands, e-mail: