You are viewing a plain text version of this content. The canonical link for it is here.
Posted to user@excalibur.apache.org by Bryce Ewing <br...@gmail.com> on 2004/11/16 22:47:31 UTC

Hierarchical Containers

Hi all,

I am quite new to using Fortress (or more generally Avalon).  What I
am trying to do at the moment is loading up multiple components each
with there own seperate class loader.  From looking through the source
of Fortress and through documentation (where available) I feel that to
do this I will need to make a hierarchy of containers with each
component that requires a seperate class loader to be loaded into a
different container.

If this isn't the case please let me know that I am heading down the
completely wrong path.  Otherwise what I was wondering was how to
setup a hierarchy of containers.  From the documentation it says:
"Part of the design concept for Fortress heirarchical containers is to
use a ContainerManager to make sure all the necessary services are set
up and running. For example, the Fortress container needs a
CommandManager--so the ContainerManager checks to see if it is already
set up and uses it. That way we can have one Container that has one or
more ContainerManagers that all use the kernel level services of the
parent container."

So does this mean that infact there is only one Fortress container
which has multiple ContainerManager's, or is this text missleading in
that respect.

To give you more of an idea of what I am wanting to do I was thinking
of the following:
  * main container loads up, it's xconf has information on what other
containers to initialise, and where to read their xconf's from (and
what classpath to set on the container)
  * each of these child containers is loaded into that parent container

If you could be of some help it would be greatly appreciated.

Cheers
Bryce

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@excalibur.apache.org
For additional commands, e-mail: user-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/


Re: Hierarchical Containers

Posted by Leo Simons <ls...@jicarilla.org>.
Bryce Ewing wrote:
> Hi all,

Hi Bryce!

sorry for the delay in responding.

> I am quite new to using Fortress (or more generally Avalon).  What I
> am trying to do at the moment is loading up multiple components each
> with there own seperate class loader.  From looking through the source
> of Fortress and through documentation (where available) I feel that to
> do this I will need to make a hierarchy of containers with each
> component that requires a seperate class loader to be loaded into a
> different container.

maybe that could work. I don't know if anyone has tried that; fortress 
wasn't really designed for multi-classloader architecture.

> If this isn't the case please let me know that I am heading down the
> completely wrong path.

I am not quite sure how much effort you'll have to put in to get a 
proper classloader architecture in place. Classloader management is 
"non-trivial" at best.

> Otherwise what I was wondering was how to
> setup a hierarchy of containers.  From the documentation it says:
> "Part of the design concept for Fortress heirarchical containers is to
> use a ContainerManager to make sure all the necessary services are set
> up and running. For example, the Fortress container needs a
> CommandManager--so the ContainerManager checks to see if it is already
> set up and uses it. That way we can have one Container that has one or
> more ContainerManagers that all use the kernel level services of the
> parent container."
> 
> So does this mean that infact there is only one Fortress container
> which has multiple ContainerManager's, or is this text missleading in
> that respect.

You could have

Container
|---Shared Services
|---ContainerManager 1
     |---Container 1A
     |---Container 1B
|---ContainerManager 2
     |---Container 2A
     |---Container 2B

is what the text is trying to say.

> To give you more of an idea of what I am wanting to do I was thinking
> of the following:
>   * main container loads up, it's xconf has information on what other
> containers to initialise, and where to read their xconf's from (and
> what classpath to set on the container)
>   * each of these child containers is loaded into that parent container

That could be made to work. The key thing to realize is that 
a-container-is-a-component, so any IoC setup you can think of is indeed 
possible.

HTH,

- LSD

---------------------------------------------------------------------
To unsubscribe, e-mail: user-unsubscribe@excalibur.apache.org
For additional commands, e-mail: user-help@excalibur.apache.org
Apache Excalibur Project -- URL: http://excalibur.apache.org/