I just noticed that when reloading a context using the manager application, Tomcat fails to redeploy WEB-INF/lib and the WEB-INF/classses for that web application leading to ClassNotFoundExceptions. Using stop and then start works fine.
I confirm I have that exact problem, both on 4.1.26 that I installed last Friday, and on 4.1.27 that I installed today. Previous version was 4.1.24, which was working fine. Configuration was left the same. I'm not sure about it, but I was surprised to see that in the exception report: C:\TEMP\index_jsp.java:99: cannot resolve symbol ^^^^^^^^ I though Tomcat put all its temporary stuff in the work/directort. I couldn't find any temporary JSP dating from 4.1.24 in TEMP.
I don't know yet when this bug was introduced, and will look into the issue.
Huh, I look to StandardContext implementation and found to changes between 4.1.24 and 4.1.27 4.1.24 Line 1062 public ServletContext getServletContext() { ... return (context) ; } 4.1.27 Line 1062 public ServletContext getServletContext() { ... return (context.getFacade()) ; } other change is at Line 3363: 4.1.27 public synchronized stop() ... // add listenerStop listenerStop } -- nothing to with current 4.1.x reloading. I extract the 4.1.24 org.apache.catalina.core.StandardContext and copy to 4.1.27 server/classes. Jiep, 4.1.27 reloading working as expected. Testet with a hello world directory deployment. The first change are a internal security fix, but has current a side effect... Peter
Thanks for the analysis, and finding out what was causing the issue. I wouldn't have gone in that direction, instead I was suspecting my change to fix STM and webapp reload (I thought it would have caused the wrapper reload to fail). Instead, the safe looking one line change to return a facaded servlet context is what broke reloading. I assume the ContextConfig listener could no longer reset necessary components in the servlet context once the facade was in place. I will make a hotfix available for this bug, and I assume a new 4.1.x release will occur before the end of the month.
Done. I added a hotfix package there: http://www.apache.org/dist/jakarta/tomcat-4/binaries/ Check it just to make sure I didn't make any mistakes.
Works for me! Thanks a lot!
Yep, works for me, too.
Ok, thanks. I will post to announcements tomorrow, once the mirrors have synced. I believe the HTML contains explicit enough instructions and details to allow 4.1.27 to live on for a little while, given this is not a security issue.
*** Bug 22149 has been marked as a duplicate of this bug. ***
*** Bug 22154 has been marked as a duplicate of this bug. ***
*** Bug 23506 has been marked as a duplicate of this bug. ***
*** Bug 23565 has been marked as a duplicate of this bug. ***
*** Bug 23809 has been marked as a duplicate of this bug. ***
*** Bug 24121 has been marked as a duplicate of this bug. ***