geronimo-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "gianny DAMOUR" <gianny_dam...@hotmail.com>
Subject Re: web module packaging + ClassSpace
Date Wed, 15 Oct 2003 11:34:18 GMT
Jan Bartel wrote:
>>- split the web generic classes and the Jetty specific ones into two 
>>distinct jars, say geronimo-web-jetty-DEV.jar and geronimo-web-DEV.jar;
>I don't have any problem with splitting the web classes into standard 
>geronimo and jetty specific.
Thanks.

>>and
>>- enhance ClassSpace in order to support a parent ClassSpace.
>I don't see how this is related?
These two things are related in some specific scenarii.

>I think Dain was talking about some general changes to the ClassSpace 
>mechanism, so it would be worthwile getting his input on this one.
I agree and I will just add a comment: according to me the addition of an 
explicit parent ClassSpace will allow to configure more easily the CL 
strategy of J2EE module deployments (perhaps, something a la WebLogic).

>What is the classpace geronimo.system:role=ClassSpace,name=System?
This is the "bootstrap" ClassSpace. Amongst other things, it is used to load 
ApplicationDeployer.

>Right now, all ClassSpaces will already have a parent set, which will 
>either be the thread context classloader or the classloader that loaded the 
>ClassSpace class.
Ok. However, the CL of ClassSpace is the system CL. In other words, one MUST 
always define a TCCL. As more than one Deployment Planner can switch the 
TCCL during the planning of a deployment, one needs an explicit and 
deterministic control on the parent CL.

Regarding the splitting of the Web classes, consider the following scenario:

The CL of ApplicationDeployer is 
geronimo.system:role=ClassSpace,name=System. ApplicationDeployer listens to 
notifications coming from the meta-data repository MBean of a Web 
application. The CL of this MBean is 
geronimo.system:role=ClassSpace,name=Jetty.

ApplicationDeployer needs to retrieve an attribute of the meta-data 
repository. If this attribute is a class which has not been loaded by a 
common CL, one ends up with a ClassCastException.

Hence this splitting.

Cheers,
Gianny

_________________________________________________________________
MSN Messenger 6 http://g.msn.fr/FR1001/866  : dialoguez en son et en image 
avec vos amis.


Mime
View raw message