Re: [JBoss-user] Pre compile jsps on jboss server
-BEGIN PGP SIGNED MESSAGE- Hash: SHA1 Hi Rod, i don't know if you've found the answer to this, but i came across a usefull post (it relates to jetty) a wee while ago about this. here it is. Cheers Mike JSP Precompilation - What, Why and How ? - - If you include a .jsp in your .war and hit it, Jasper (the JSP engine) will find the JSP, transform it into a .java, compile that into a .class, load and run it, returning the output. The .class file is then cached and reused on subsequent hits. This can lead to 3 problems. 1). You might prefer to be notified of compile errors during your development cycle - rather than post deployment. 2). The first person to hit the page will have to wait a while whilst this process is carried out. 3). If you are deploying into a heavily loaded site, it is possible that a page may be hit again before the first hit has finished it's on-the-fly preparation. This may result in more than one concurrent attempt at compiling the page, resulting in unecessary load on the server and more than one user waiting a long time for the resource that they have requested. The way out of all these problems is to precompile your JSPs - i.e. Do what Jasper would do lazily, preemptively during your development iteration. Doing this results in the further following advantages: - - your production site may consider the presence of a compiler a security breach. Precompiled JSPs do not need one. - - dispatch of request to servlet is simpler and therefore quicker since it goes direct from Jetty-Servlet and not Jetty-Jasper-Servlet. Here is a mail I sent to jboss-user to help someone who wanted to do this: I have just fixed up the JBoss website to precompile JSPs. This is a diff showing the code I added to the build.xml http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jboss/website/content/bui ld.xml.diff?r1=texttr1=1.7r2=texttr2=1.8diff_format=h and this is a diff showing what I added to the web.xml http://cvs.sourceforge.net/cgi-bin/viewcvs.cgi/jboss/website/content/src /resources/content-war/WEB-INF/web.xml.diff?r1=texttr1=1.7r2=texttr2= 1.8diff_format=h The comment line in the web.xml MUST be after the last servlet/ and before the first servlet-mapping/ directive. JspC will generate some xml servlet/ and servlet-mapping/ elements which I substitute in at this comment. The rest you will have to figure out for yourself - it is well commented. You will probably not need some of the workarounds I have had to retrofit. Since adding this item I have found the following : 1). Throwing a lot of concurrent requests at compile-on-the-fly JSPs can make Jasper simply fall about and complain about files not existing. Remove the load and hit the same page and it is returned no problem - conclusion compile-on-the-fly is simply not an option for enterprise level sites. 2). The JspC stuff referenced above fails to take into account welcome-files. Jetty will look for a file of the same (e.g. index.jsp) (so you should make sure something is there - even if it is an empty file) and if so redirectt the request to it. - Of course, you could probably remove the welcome-file directive and map your servlet directly. Rod Macpherson wrote: | Ironically nobody on our team would consider using weblogic for | development because it is far too slow. Individual jars cannot be hot | deployed and the EJB compile stage add several micro-eons to the | development process. Letting weblogic compile the EJBs for you does not | help since it is even slower and has the undesirable efffect of | crashing, without exception :( | | As far as precompiled JSPs it would be nice to just stipulate | precompile my jsps without having to resort to servlet mapping. Having | said that, it's only a deployment issue where QA can start testing at | full speed right out of the gates. How many milliseconds does it taking | to compile a single JSP? If it takes a second rather than half a second | is that really a material issue? I am a little puzzled by that one. | | Several people have been hitting the compile my JSPs please issue so | hopefully we will get that as a simple push-button solution at some | point. | | Cheers, | | Rod | | -Original Message- | From: Konstadinis Euaggelos [mailto:[EMAIL PROTECTED] | Sent: Monday, October 06, 2003 1:24 AM | To: [EMAIL PROTECTED] | Subject: Re: [JBoss-user] Pre compile jsps on jboss server | | | This is true, | | In our company, it's the first time we use JBOSS (Web-Logic is too | fast), If you make a change in jsp, the JBoss is to slow in compilation | of that jsp . Host name=localhost unpackWars=true autoDeploy=true | workDir=${jboss.server.home.dir}/work/MainEngine/localhostattribute | name=DeleteWorkDirsfalse/attribute | | I have made this changes to jboss-service.xml of Tomcat in order to | keep the compiled jsp in work directory and not in tmp. This sometimes | causes a wired behaviour, a change that is made in layout of a jsp or in | javascript
RE: [JBoss-user] Pre compile jsps on jboss server
In WebLogic, there's a setting to make the container compile all the JSPs as they are deployed (rather than when they are first hit). Could a simple setting like this be introducted in JBoss? Rgds, Dan. -- Danny Yates -Original Message- From: Rod Macpherson [mailto:[EMAIL PROTECTED] Sent: 02 October 2003 19:03 To: [EMAIL PROTECTED] Subject: RE: [JBoss-user] Pre compile jsps on jboss server This is one of my pet peeves. It is true that you can precompile your JSPs and configure them as servlets and that is a reasonable approach in most circumstances. Having said that, if you have several hundred that you are dynamically updating during development the preference is to use JSPs as they were designed: update as-needed on a running server. The servlet approach is a bit of a hack (IMHO) when the container is perfectly capable of compiling the whole mess on its own with no intervention on your part. Where a compiled JSP goes and what its called is not part of the specification so it would be nice to have the container do that for you. Here's a link to an ANT script that precompiles for Tomcat. Haven't tried it but at least it avoids the servlet approach and the script looks very simple. http://cvs.apache.org/~fhanik/precompile.html -Original Message- From: JD Brennan [mailto:[EMAIL PROTECTED] Sent: Thursday, October 02, 2003 10:24 AM To: [EMAIL PROTECTED] Subject: RE: [JBoss-user] Pre compile jsps on jboss server I think the Ant jspc target can generate a web XML fragment that Ant can then substitute into your web.xml automatically. Haven't tried this myself ... yet - just read about it. JD -Original Message- From: Balakrishnan, Vijay [mailto:[EMAIL PROTECTED] Sent: Thursday, October 02, 2003 8:29 AM To: '[EMAIL PROTECTED]' Subject: [JBoss-user] Pre compile jsps on jboss server Hi, I tried looking through the archives but found nothing substantial.I want to precompile jsps on the server before deploying them to improve performance.I saw 1 mthod using the web.xml but that would mean putting all my zillions of jsp's under it- a nightmare scenario for maintenance.Is there any other way to do that on the server side.(jspc does not seem to work on the server side). My apologies if this question has been answered before. Thanks, Vijay --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user _ Notice to recipient: The information in this internet e-mail and any attachments is confidential and may be privileged. It is intended solely for the addressee. If you are not the intended addressee please notify the sender immediately by telephone. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. When addressed to external clients any opinions or advice contained in this internet e-mail are subject to the terms and conditions expressed in any applicable governing terms of business or client engagement letter issued by the pertinent Bank of America group entity. If this email originates from the U.K. please note that Bank of America, N.A., London Branch, Banc of America Securities Limited and Banc of America Futures Incorporated are regulated by the Financial Services Authority. _ --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
Re: [JBoss-user] Pre compile jsps on jboss server
This is true, In our company, it's the first time we use JBOSS (Web-Logic is too fast), If you make a change in jsp, the JBoss is to slow in compilation of that jsp . Host name=localhost unpackWars=true autoDeploy=true workDir=${jboss.server.home.dir}/work/MainEngine/localhostattribute name=DeleteWorkDirsfalse/attribute I have made this changes to jboss-service.xml of Tomcat in order to keep the compiled jsp in work directory and not in tmp. This sometimes causes a wired behaviour, a change that is made in layout of a jsp or in javascript is not reflected immediately in JBOSS, We must shutdown clean tmp, work and restart JBOSS to see the changes, so the development time it's not so quick. Vangos. - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, October 06, 2003 10:55 AM Subject: RE: [JBoss-user] Pre compile jsps on jboss server In WebLogic, there's a setting to make the container compile all the JSPs as they are deployed (rather than when they are first hit). Could a simple setting like this be introducted in JBoss? Rgds, Dan. -- Danny Yates -Original Message- From: Rod Macpherson [mailto:[EMAIL PROTECTED] Sent: 02 October 2003 19:03 To: [EMAIL PROTECTED] Subject: RE: [JBoss-user] Pre compile jsps on jboss server This is one of my pet peeves. It is true that you can precompile your JSPs and configure them as servlets and that is a reasonable approach in most circumstances. Having said that, if you have several hundred that you are dynamically updating during development the preference is to use JSPs as they were designed: update as-needed on a running server. The servlet approach is a bit of a hack (IMHO) when the container is perfectly capable of compiling the whole mess on its own with no intervention on your part. Where a compiled JSP goes and what its called is not part of the specification so it would be nice to have the container do that for you. Here's a link to an ANT script that precompiles for Tomcat. Haven't tried it but at least it avoids the servlet approach and the script looks very simple. http://cvs.apache.org/~fhanik/precompile.html -Original Message- From: JD Brennan [mailto:[EMAIL PROTECTED] Sent: Thursday, October 02, 2003 10:24 AM To: [EMAIL PROTECTED] Subject: RE: [JBoss-user] Pre compile jsps on jboss server I think the Ant jspc target can generate a web XML fragment that Ant can then substitute into your web.xml automatically. Haven't tried this myself ... yet - just read about it. JD -Original Message- From: Balakrishnan, Vijay [mailto:[EMAIL PROTECTED] Sent: Thursday, October 02, 2003 8:29 AM To: '[EMAIL PROTECTED]' Subject: [JBoss-user] Pre compile jsps on jboss server Hi, I tried looking through the archives but found nothing substantial.I want to precompile jsps on the server before deploying them to improve performance.I saw 1 mthod using the web.xml but that would mean putting all my zillions of jsp's under it- a nightmare scenario for maintenance.Is there any other way to do that on the server side.(jspc does not seem to work on the server side). My apologies if this question has been answered before. Thanks, Vijay --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user _ Notice to recipient: The information in this internet e-mail and any attachments is confidential and may be privileged. It is intended solely for the addressee. If you are not the intended addressee please notify the sender immediately by telephone. If you are not the intended recipient, any disclosure, copying, distribution or any action taken or omitted to be taken in reliance on it, is prohibited and may be unlawful. When addressed to external clients any opinions or advice contained in this internet e-mail are subject to the terms and conditions expressed in any applicable governing terms of business or client engagement letter issued by the pertinent Bank of America group entity. If this email originates from the U.K. please note that Bank
RE: [JBoss-user] Pre compile jsps on jboss server
Ironically nobody on our team would consider using weblogic for development because it is far too slow. Individual jars cannot be hot deployed and the EJB compile stage add several micro-eons to the development process. Letting weblogic compile the EJBs for you does not help since it is even slower and has the undesirable efffect of crashing, without exception :( As far as precompiled JSPs it would be nice to just stipulate precompile my jsps without having to resort to servlet mapping. Having said that, it's only a deployment issue where QA can start testing at full speed right out of the gates. How many milliseconds does it taking to compile a single JSP? If it takes a second rather than half a second is that really a material issue? I am a little puzzled by that one. Several people have been hitting the compile my JSPs please issue so hopefully we will get that as a simple push-button solution at some point. Cheers, Rod -Original Message- From: Konstadinis Euaggelos [mailto:[EMAIL PROTECTED] Sent: Monday, October 06, 2003 1:24 AM To: [EMAIL PROTECTED] Subject: Re: [JBoss-user] Pre compile jsps on jboss server This is true, In our company, it's the first time we use JBOSS (Web-Logic is too fast), If you make a change in jsp, the JBoss is to slow in compilation of that jsp . Host name=localhost unpackWars=true autoDeploy=true workDir=${jboss.server.home.dir}/work/MainEngine/localhostattribute name=DeleteWorkDirsfalse/attribute I have made this changes to jboss-service.xml of Tomcat in order to keep the compiled jsp in work directory and not in tmp. This sometimes causes a wired behaviour, a change that is made in layout of a jsp or in javascript is not reflected immediately in JBOSS, We must shutdown clean tmp, work and restart JBOSS to see the changes, so the development time it's not so quick. Vangos. - Original Message - From: [EMAIL PROTECTED] To: [EMAIL PROTECTED] Sent: Monday, October 06, 2003 10:55 AM Subject: RE: [JBoss-user] Pre compile jsps on jboss server In WebLogic, there's a setting to make the container compile all the JSPs as they are deployed (rather than when they are first hit). Could a simple setting like this be introducted in JBoss? Rgds, Dan. -- Danny Yates -Original Message- From: Rod Macpherson [mailto:[EMAIL PROTECTED] Sent: 02 October 2003 19:03 To: [EMAIL PROTECTED] Subject: RE: [JBoss-user] Pre compile jsps on jboss server This is one of my pet peeves. It is true that you can precompile your JSPs and configure them as servlets and that is a reasonable approach in most circumstances. Having said that, if you have several hundred that you are dynamically updating during development the preference is to use JSPs as they were designed: update as-needed on a running server. The servlet approach is a bit of a hack (IMHO) when the container is perfectly capable of compiling the whole mess on its own with no intervention on your part. Where a compiled JSP goes and what its called is not part of the specification so it would be nice to have the container do that for you. Here's a link to an ANT script that precompiles for Tomcat. Haven't tried it but at least it avoids the servlet approach and the script looks very simple. http://cvs.apache.org/~fhanik/precompile.html -Original Message- From: JD Brennan [mailto:[EMAIL PROTECTED] Sent: Thursday, October 02, 2003 10:24 AM To: [EMAIL PROTECTED] Subject: RE: [JBoss-user] Pre compile jsps on jboss server I think the Ant jspc target can generate a web XML fragment that Ant can then substitute into your web.xml automatically. Haven't tried this myself ... yet - just read about it. JD -Original Message- From: Balakrishnan, Vijay [mailto:[EMAIL PROTECTED] Sent: Thursday, October 02, 2003 8:29 AM To: '[EMAIL PROTECTED]' Subject: [JBoss-user] Pre compile jsps on jboss server Hi, I tried looking through the archives but found nothing substantial.I want to precompile jsps on the server before deploying them to improve performance.I saw 1 mthod using the web.xml but that would mean putting all my zillions of jsp's under it- a nightmare scenario for maintenance.Is there any other way to do that on the server side.(jspc does not seem to work on the server side). My apologies if this question has been answered before. Thanks, Vijay --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ JBoss-user mailing list [EMAIL PROTECTED] https
Re: [JBoss-user] Pre compile jsps on jboss server
i use the scenario 1 that you described. it's not really a nightmare for me because i set jasper to add all the servlets and servlet-mappings to my web.xml automatically. would that be a problem for you? the only real problem is that deployment takes a much longer time meaning my site is down while the deployment occurs. felipe Balakrishnan, Vijay wrote: Hi, I tried looking through the archives but found nothing substantial.I want to precompile jsps on the server before deploying them to improve performance.I saw 1 mthod using the web.xml but that would mean putting all my zillions of jsp's under it- a nightmare scenario for maintenance.Is there any other way to do that on the server side.(jspc does not seem to work on the server side). My apologies if this question has been answered before. Thanks, Vijay --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user
RE: [JBoss-user] Pre compile jsps on jboss server
I think the Ant jspc target can generate a web XML fragment that Ant can then substitute into your web.xml automatically. Haven't tried this myself ... yet - just read about it. JD -Original Message- From: Balakrishnan, Vijay [mailto:[EMAIL PROTECTED] Sent: Thursday, October 02, 2003 8:29 AM To: '[EMAIL PROTECTED]' Subject: [JBoss-user] Pre compile jsps on jboss server Hi, I tried looking through the archives but found nothing substantial.I want to precompile jsps on the server before deploying them to improve performance.I saw 1 mthod using the web.xml but that would mean putting all my zillions of jsp's under it- a nightmare scenario for maintenance.Is there any other way to do that on the server side.(jspc does not seem to work on the server side). My apologies if this question has been answered before. Thanks, Vijay --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user --- This sf.net email is sponsored by:ThinkGeek Welcome to geek heaven. http://thinkgeek.com/sf ___ JBoss-user mailing list [EMAIL PROTECTED] https://lists.sourceforge.net/lists/listinfo/jboss-user