geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "Aaron Mulder (JIRA)" <...@geronimo.apache.org>
Subject [jira] Commented: (GERONIMO-1931) Deployers and the deploying classes are in separate class loader hierarchies
Date Sat, 29 Apr 2006 16:10:39 GMT
    [ http://issues.apache.org/jira/browse/GERONIMO-1931?page=comments#action_12377097 ] 

Aaron Mulder commented on GERONIMO-1931:
----------------------------------------

This hits OpenEJB MdbBuilder in that it tries to instantiate an ActivationSpec and then call
validate() on it.  However, the deployer has a different ActivationSpec class than the configuration
ClassLoader that it uses to load the ActivationSpec implementation.  As a result, it has to
use reflection to call validate and to deal with the exception class (same problem there)
that indicates validation failures.  When this is fixed, MdbBuilder should be fixed as well.

Just a note, there's a new class o.a.g.kernel.util.ClassLoaderDumper that prints out the CL
hierarchy and then the JARs in each CL in the path, to help with debugging.

> Deployers and the deploying classes are in separate class loader hierarchies
> ----------------------------------------------------------------------------
>
>          Key: GERONIMO-1931
>          URL: http://issues.apache.org/jira/browse/GERONIMO-1931
>      Project: Geronimo
>         Type: Bug
>     Security: public(Regular issues) 
>   Components: deployment
>     Versions: 1.1
>     Reporter: Dain Sundstrom
>      Fix For: 1.2

>
> The deployers are loaded from the main KernelConfiguraitonManager, where as when we deploy
the new deployments are loaded from a private SimpleConfigurationManager.  This means two
classloaders are completely separate and deployers see different versions of the spec classes.
 Therefor, the deployers can't make use of instanceof and can use code like this:
> TimedObject.class.inAssignable(beanClass)
> This makes deployers unnecessarily complex and error prone.  This can easily be addressed
by having the private SimpleConfigurationManager in the DeploymentContext first check main
KernelConfigurationManager to see if the configuration exists before reloading it from disk.

-- 
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


Mime
View raw message