Remy Maucherat wrote:
Hi,
jspc is IMO overly complex, with many features nobody knows how to use, and nobody cares to test (hence sometimes some of them are randomly broken during Jasper refactorings).
I will not formally vote on this, because I've been inactive in this project for so long I feel I need to familiarize myself with the current code base before I can exercise my voting priviledges. But I do have some comments, see below.
I propose that:
- In Tomcat 5, all jspc options are removed, in favor of allowing only the webapp mode (with its relevant options). This webapp mode would generate code and classes which should be deployed in the work directory, exactly the same as if they were dynamically compiled by Jasper (which has the big advantage of using only one big operation mode for everything). Single file mode is IMO useless (dynamic compilation works fine).
I agree with you regading single file mode, but not with the rest.
- In Tomcat 4.1, the options will stay in for compatibility, but the usage help will be modified to be the same as Tomcat 5.
I'm not sure what you mean by this proposal. Are you saying that the TC 4.1.x version would have a usage message (documentation) that doesn't match its features? If so, why? If there will be differences between the TC 4.1.x and TC 5 versions, I assume we will maintain a separate code base for each version, each with documentation that correctly reflects their features.
It has to be noted that:
- The JSP runtime is now very efficient. The old webapp mode (with its static web.xml) is a hack (and a 100% proprietary one at that).
Efficiency is not all that important here, since precomiplation is done before deployment (that's the whole idea, right ;-) Not sure what you mean with "100% proprietary". The web.xml file (or fragment) that is generated is defined by the servlet spec.
- Precompilation should only occur at webapp deployment time in the general case (the generated code is closely tied to the Jasper runtime release).
I don't agree. It's very handy to be able to generate a JAR file with all JSP pages for an application and deploy it to many different container instances (Tomcat or others, as long as jasper-runtime.jar is included). There are many users that want to keep the production environment as simple (and small in embedded systems, for instance) as possible, and deploying precompiled JSP pages lets me use a production environment without the JSP compiler and use JRE instead of the JDK.
- Additional features could be added to the manager servlet to, for example, cause precompilation of the deployed webapp in a separate process.
That's a separate thing, more of a container feature than JSPC in my mind.
- I am -1 to returning to the old "webapp" option behavior (ie, the generated files should by default be deployed in the work directory, not /WEB-INF/classes).
Why not discuss what the problems with the current options are, and try to find a solution instead? Like I've said, it's been a while since I was actively involved with Tomcat development, but I know that in Tomcat 4.0.4, JSPC seemed to work fine with all options available at the time. How did Jasper2 break things? If I understand what the main problem is, I can help find a solution (primarily for Tomcat 4.1.x; I'm afraid I don't have enough cycles to get into Tomcat 5 at the moment). Hans -- Hans Bergsten [EMAIL PROTECTED] Gefion Software http://www.gefionsoftware.com JavaServer Pages http://TheJSPBook.com -- To unsubscribe, e-mail: <mailto:tomcat-dev-unsubscribe@;jakarta.apache.org> For additional commands, e-mail: <mailto:tomcat-dev-help@;jakarta.apache.org>
