In-line below.
David Jencks wrote:
On Oct 3, 2008, at 12:51 PM, Jason Warner wrote:
Hey all. I'm working on an idea for allowing custom valves to be
defined in config.xml. Currently this isn't possible since the tomcat
classloader would not contain the custom classes for the valve. I've
create a jira for tracking this issue [1] and it contains a few links
to workarounds. IMHO, The solution we should be looking for is a way
to add classes to a module without having to undeploy, modify the
module config, and redeploying.
People have suggested stuff like this before. IMO it pretty much goes
against the fundamental idea of geronimo of having fairly fixed plugins
with only a few knobs to turn to adjust things in config.xml and
config-substitutions.properties.
Why is changing the classloader contents in config.xml a good idea?
What is so hard about redeploying the app if you want to change its
classloader significantly? If you want to change a class in the app you
have to redeploy it.... why is this situation different?
We shouldn't expect every Geronimo user to have to setup a local build
environment to perform such Tomcat reconfiguration. Especially given
what Jason is trying to do doesn't require Tomcat users to rebuild
Tomcat.... This is a deficiency in Geronimo that needs to be resolved.
thanks
david jencks
I think this can be done by allowing a user to indicate jars that
should be loaded by a module within the config.xml. These jars can
then be added to the module's classloader for use by the module. I'm
not extremely familiar with how our classloader works, but I've taken
a look through the code and I think the ability to add to the
classloader can be implemented without too much difficulty. I'm not
quite sure what type of scope to give this change, though. Should I
leave it as a change aimed solely at tomcat valves or should it be
expanded to encompass any configuration? I realize this is only a
rough idea of what i plan to do, but I'm still working out the details
of how to proceed. I'm hoping for some feedback on what I intend to
do and possibly some alternate ideas if anyone has some.
Thanks!
[1] https://issues.apache.org/jira/browse/GERONIMO-4335
--
~Jason Warner