I'm trying to do some work around the class reloading that Tapestry does for pages, but am having a bit of difficulty.

I'm placing annotations on my pages to build the menu. What happens is that I use the ComponentClassResolver to get the page names, and then use that to get the class name. I then use the standard class loader to load the class:
Thread.currentThread().getContextClassLoader().loadClass(className);

That class is then inspected to see if it has the appropriate annotation present

This all works wonderfully in production. The problem is when the annotation changes (or is added) during a development session. I have to stop and then start the container to get the menu to update. The page class reloading works, I just can't get the new annotations. I've found the IvalidationListener, so I know when a page class has changed.

I know my problem is that the class loader is caching the definition. Is there a Tapestry service to load the actual class for a page that handles the reloading? Is there a Tapestry service or class loader that would handle this for me?

Thanks,
Richard

---------------------------------------------------------------------
To unsubscribe, e-mail: users-unsubscr...@tapestry.apache.org
For additional commands, e-mail: users-h...@tapestry.apache.org

Reply via email to