- This topic has 7 replies, 3 voices, and was last updated 20 years, 5 months ago by Riyad Kalla.
-
AuthorPosts
-
kitmMember– System Setup ——————————-
Operating System and version: Win 2000 version 5.0 (Build 2195: sp4)
Eclipse version: Version: 3.0.0
Eclipse build id: 200406251208
Fresh Eclipse install (y/n): n
If not, was it upgraded to its current version using the update manager? No
Other installed external plugins: none
Number of plugins in the <eclipse>/plugins directory that begin with org.eclipse.pde.*: 7
MyEclipse version: 3.8b2
Eclipse JDK version: j2sdk1.4.2_05
Application Server JDK version: j2sdk1.4.2_05
Are there any exceptions in the Eclipse log file? No
– Message Body ——————————-When I use ME to deploy my EAP, the web-projects deploy their pre-compiled jsps (I can see them in the <wls_home>/config/<domain>/applications/<EAP>/em1/WEB-INF/classes/em1_jsps/ directory) but when I run the app, weblogic re-compiles each jsp with the following entry in the weblogic.log:
####<Jul 15, 2004 10:45:53 AM EDT> <Info> <HTTP> <S8UCRM-PC> <em> <ExecuteThread: ’13’ for queue: ‘default’> <<anonymous>> <> <BEA-101295> <Recompiling JSP [ServletContext(id=21066111,name=/em1System,context-path=/em1System)], resource [/Footer.jsp], because it is stale. It was previously compiled using a different version of WebLogic Server.
JSP build version: 8.1.2.0
WLS build version: 8.1.2.0.>I was hoping that if ME pre-compiled all my jsps they wouldn’t have to be re-compiled by weblogic at run-time. Is my expectation correct? If so, do you have any idea what’s going on here? From the weblogic log message it looks like it might be that ME tags the jsps with weblogic version “8.1.2.0” whereas weblogic is looking for version “8.1.2.0.” (of course, the trailing period could be an artifact of the log message and not the detected version#).
Thanks!
Riyad KallaMemberWe don’t deploy precompiled JSPs, what you are seeing is previous compilations of the same JSPs. WebLogic is correctly seeing the change in datestamp and compiling the new page.
Riyad KallaMemberPlease post if you would like me to reopen this.
kitmMemberWell here’s the thing:
Assume that my app has five jsps: a.jsp, b.jsp, c.jsp, d.jsp, e.jsp.
When I totally clean (using an ant script) my weblogic deployment area it looks like this:
<wl_home>/config/<domain>/ (with 5 wls config files here such as config.xml, boot.properties, etc. and nothing else)
After deploying from ME to weblogic, it contains (among other things):
<wl_home>/config/<domain>/applications/em-eap/em1/WEB-INF/classes/em1_jsps/__a.class
<wl_home>/config/<domain>/applications/em-eap/em1/WEB-INF/classes/em1_jsps/__a.java
<wl_home>/config/<domain>/applications/em-eap/em1/WEB-INF/classes/em1_jsps/__b.class
<wl_home>/config/<domain>/applications/em-eap/em1/WEB-INF/classes/em1_jsps/__b.java
<wl_home>/config/<domain>/applications/em-eap/em1/WEB-INF/classes/em1_jsps/__c.class
<wl_home>/config/<domain>/applications/em-eap/em1/WEB-INF/classes/em1_jsps/__c.java
<wl_home>/config/<domain>/applications/em-eap/em1/WEB-INF/classes/em1_jsps/__d.class
<wl_home>/config/<domain>/applications/em-eap/em1/WEB-INF/classes/em1_jsps/__d.java
<wl_home>/config/<domain>/applications/em-eap/em1/WEB-INF/classes/em1_jsps/__e.class
<wl_home>/config/<domain>/applications/em-eap/em1/WEB-INF/classes/em1_jsps/__e.java
(so if ME isn’t supposed to be deploying my compiled jsps, what are these doing here?)
and no other directories under <wl_home>/config/<domain>/.When I start weblogic and navigate through 2 pages of the app, the newly compiled jsps (just for those pages) end up in:
<wl_home>/config/<domain>/<server>/.wlnotdelete/extract/<server>__appsdir_em-eap_dir_/<context-root>/em1_jsps/__a.class
<wl_home>/config/<domain>/<server>/.wlnotdelete/extract/<server>__appsdir_em-eap_dir_/<context-root>/em1_jsps/__a.java
<wl_home>/config/<domain>/<server>/.wlnotdelete/extract/<server>__appsdir_em-eap_dir_/<context-root>/em1_jsps/__b.class
<wl_home>/config/<domain>/<server>/.wlnotdelete/extract/<server>__appsdir_em-eap_dir_/<context-root>/em1_jsps/__b.javaAnd since weblogic’s log message indicates that it found an existing compiled copy of each one and decided to re-compile due to a mismatched version#, I would conclude that ME *does* in fact deploy the compiled jsps, but for some reason weblogic doesn’t think their versions match.
Am I reading too much into the fact that the compiled files do get copied into the weblogic deployment area by ME?
Riyad KallaMemberHmm maybe I’m totally wrong, let me check with the devs (I was going off of my experience with Tomcat and JBoss)
Scott AndersonParticipantActually, we do not deploy compiled JSPs at all. Our JSP compilation for syntax checking is done outside the classes folder, in a temp directory that is immediately cleaned out. I expect what you’re seeing are artifacts from some external operation that need to be cleaned out. Try deleting your deployment and cleaning your project, verifying on the file system that the deployment domain has really been removed from under WebLogic. Once that’s done, without WebLogic running, deploy your project to WebLogic and inspect what files are copied to the deployment. You can easily do this with the Browse button on the Deployment Manager dialog or externally.
I was hoping that if ME pre-compiled all my jsps they wouldn’t have to be re-compiled by weblogic at run-time. Is my expectation correct?
We could never do this since it wouldn’t work. Each server provides their own compiler that builds the compiled JSP’s as Java classes that ride on top of that server’s specific infrastructure.
kitmMemberThat was it. I had run our ant build at some point (which uses the weblogic jsp compiler) and never cleaned the project area afterwards, so the pre-compiled jsps were still under WEB-INF/classes and got deployed by eclipse along with everything else. Sorry for the confusion & distraction, and thanks again for the great support!
Riyad KallaMemberNo problem, I’m glad everything is right with the world again 😉
-
AuthorPosts