directory-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Niclas Hedhman <nic...@hedhman.org>
Subject Re: [eve] merlin wrappers
Date Sun, 04 Jul 2004 04:02:59 GMT
Alex Karasulu wrote:

> On Fri, 2004-07-02 at 20:58, Stephen McConnell wrote:

>>This has some very heavy implications.  Assume for 
>>a moment that you expose commons lang 2.0 and avalon framework 4.1.5 as 
>>part of your API.  Let's also assume that (a) your running as an 
>>embedded component inside another system that you know nothing about - 
>>and lets assume that the embedder is running framework 4.2, secondly, 
>>lets assume that your running a plugin of some kind inside eve that 
>>assumes commons lang 1.0.
> 
> 
> So for fun we presume our eve-frontend jar contains the classes in 
> commons-lang-2.0.jar and avalon-framework-4.1.5.jar "as part of [our]
> API".  

Nooooooo....  :o)  I think you misunderstood Stephen (below seems to 
indicate the opposite).
He means that the API does not contain the AF4 classes, and does not 
depend on them either.
He means that the container should only expose what is absolute 
necessary to its 'children' or managed parts. Classes that are part of 
the container's implementation and extension mechanisms should be in a 
different branch.

Now, exactly how does this apply to Eve?

I am not sure, since I don't understand exactly how things hang 
together and what assumptions exist about its execution environment 
and so forth.

> Going on the "embedder", which is the application setting up Eve and
> loading the eve-frontend.jar via some ClassLoader.  This application's
> ClassLoader which is the parent of the ClassLoader with
> eve-frontend.jar, has avalon-framework-4.2.jar loaded into it.  So we
> have the following situation:

The 'embeddor' should probably not have the avalon framework exposed 
either, unless it is an Avalon capable top-level container (such as 
Merlin). If Eve is configured to run in the Avalon specific container, 
then it relies on the embeddor's classloader for the AF4 classes.

Niclas

Mime
View raw message