Craig and All, When looking into the ActionServlet.destroy() and RequestProcessor.destroy() methods, I could not find anywhere the RequestProcessor instance is removed from the servlet context. This might cause problems after the action servlet destroyed and re-initialized and the following requests would obtain an invalid RequestProcessor instance left before (with null servlet instance)
In general, I believe it is safe to remove all Struts related objects from the servlet context in the destroy() methods. For example, if a message resource configuration is removed between the calls destroy() and init(), undesired resource will remain in the servlet context until the next Tomcat restart. I am not sure this task is already taken care of by Tomcat or something else. Correct me if I am missing something. Jing
