You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@avalon.apache.org by Michael McKibben <mi...@hihat.net> on 2001/12/28 00:54:43 UTC
ExcaliburComponentManager and Parent CM
Why does ExcaliburComponentManager take the parent ComponentManager as a
constructor arg instead of implementing Composable? As it is currently
implemented, it doesn't seem possible to have parent-child built
automatically from a config xml, e.g.
<parent>
...
<child-components
role="ChildComponentManager" class="org.apache.avalon.excalibur.component.ExcaliburComponentManager">
...
</child-component>
</parent>
Also, I noticed that a ComponentManager is not a component even though
ExcaliburComponentManager implements the Avalon component lifecycle
interfaces. Is this by design? If so why?
Regards,
--mike
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>
Re: ExcaliburComponentManager and Parent CM
Posted by Berin Loritsch <bl...@apache.org>.
Michael McKibben wrote:
> Why does ExcaliburComponentManager take the parent ComponentManager as a
> constructor arg instead of implementing Composable? As it is currently
> implemented, it doesn't seem possible to have parent-child built
> automatically from a config xml, e.g.
This is to allow Hierarchical ComponentManager arrangements. In large
systems like Phoenix, a Block is handed a ComponentManager to gain
access to external Components. That Block can then initialize it's own
ComponentManager deferring requests for the external components to the
parent.
>
> <parent>
> ...
>
> <child-components
> role="ChildComponentManager" class="org.apache.avalon.excalibur.component.ExcaliburComponentManager">
> ...
> </child-component>
> </parent>
>
> Also, I noticed that a ComponentManager is not a component even though
> ExcaliburComponentManager implements the Avalon component lifecycle
> interfaces. Is this by design? If so why?
We use the Avalon lifecycle interfaces for consistency. A
ComponentManager is not a Component. It manages references to
Components. Rest assured, if the ECM (ExcaliburComponentManager) made
up it's own initialization interfaces you'd ask about that.
The thing about ECM is that it is also a Container, and the Container
needs references to the system information like Context, Logger, etc.
We are improving our design slowly.
----------------------------------------------------
Sign Up for NetZero Platinum Today
Only $9.95 per month!
http://my.netzero.net/s/signup?r=platinum&refcd=PT97
--
To unsubscribe, e-mail: <ma...@jakarta.apache.org>
For additional commands, e-mail: <ma...@jakarta.apache.org>