Before I'm going to release the Cocoon Maven plugin, I worked on the XPatcher for the web.xml. All .xweb snippets now get rewritten so that the ReloadingClassloader interceptors get applied to filters, listeners and servlets.

As I was at it I also implemented a wrapper around the "normal" Spring web application context. It takes care of context reloads internally and is completly synchronized. Giacomo reported that he had problems when you accessed the Spring application context from outside of Cocoon, e.g. from within a servlet filter. This _might_ be helpful in that case though I haven't tested it yet.

Since the reloads are done within the wrapper (--> the object instance doesn't change anymore), this might also make the app context reload check of the DispatcherServlet obsolete. Though I haven't tested this either because I ran all my tests with RC1 modules. Additionally it could help with Giacomo's problem too.

Finally, I also ran into a problem if the application context contains proxied beans. If their interfaces are loaded by the reloading classloader, the application context refuses to work after a reload. I guess it is somehow related to the reloading classloader of commons-jci. As a workaround you have to put all those interfaces of proxied beans into a module which is not loaded by the reloading classloader.

--
Reinhard Pötz Independent Consultant, Trainer & (IT)-Coach
{Software Engineering, Open Source, Web Applications, Apache Cocoon}

                                       web(log): http://www.poetz.cc
--------------------------------------------------------------------

Reply via email to