[PATCH] Reloading classloader in Cocoon 2.2
-------------------------------------------
Key: COCOON-1929
URL: http://issues.apache.org/jira/browse/COCOON-1929
Project: Cocoon
Issue Type: Task
Components: * Cocoon Core
Affects Versions: 2.2-dev (Current SVN)
Reporter: Maurizio Pillitu
The attached patch provides a first implementation to enable reloading
classloader configuration into the sitemap, using the sitemap syntax used in
blocks/cocoon-core-sample/cocoon-core-main-sample/src/main/resources/COB-INF/sitemap.xmap.
Referring to CocoonGT 2005 Torsten's code, I moved all the JCI listener
configuration into the ReloadingClassLoaderFactory class, that is in charge to
parse the classloader configuration (filled by AvalonUtils class) and
instanciate all the JCI listeners.
The TreeProcessor component is subscribed to the JCI listeners, in order to
reload the component definitions when a file change event is triggered.
The patch provides also a sample :
http://localhost:8888/blocks/cocoon-core-main-sample/reloading/
Try to change MyGenerator.java and compile it into
blocks/cocoon-core-sample/cocoon-core-main-sample/target/classes (default
eclipse location); if you need to change the location of the .class folder,
edit the cocoon-core-main-sample sitemap.xmap.
core.
Obviously there are many parts of the code that can be optimized.
The patch has been applied on revision 453682.
NOTE!
1. I decided to provide the reloading class functionality only for dev mode,
so, in order to get it working, you need to run the cocoon application with
-Dorg.apache.cocoon.mode=dev
2. The patch depends on a bugfix on Commons JCI
(https://issues.apache.org/jira/browse/SANDBOX-174), so it's necessary to build
jci-core from trunk; the patch will update the cocoon-bootstrap dependency to
jci.
--
This message is automatically generated by JIRA.
-
If you think it was sent incorrectly contact one of the administrators:
http://issues.apache.org/jira/secure/Administrators.jspa
-
For more information on JIRA, see: http://www.atlassian.com/software/jira