Berin Loritsch wrote:
>
> Torsten Curdt wrote:
> >
> > Since we would really like to have an autoload
> > feature of components. I'd propose the following:
> >
> > <component class="org.apache.something" autoload="true">
> > <parameter name="test" value=""/>
> > </component>
> >
> > In configure
> >
> > componentManager.configure(conf)
> >
> > the componentManager is supposed on autoload="true" to
> > do a subsequent lookup of this component (or whatever
> > is appropriate to create an instance of this component)
> >
> > Is this a possible sollution?
If you are refering to making the components come alive,
the ExcaliburComponentManager is now Initializable. Initialize
the ComponentManager, and all components will begin to load.
>
> Take a look at Excalibur's ComponentManagement architecture.
> It will allow you to use the ComponentManager to automatically
> set up and manage all the components specified in a configuration
> file. It has a standard method of declaring components, as well
> as a shorthand/user-friendly method. Both methods accomplish the
> same thing--however the shorthand method has the added benefit of
> enabling a Component to not be declared in a configuration file,
> and _still_ be accessed (through the default-class info).
>
> The ComponentManager/Selector automagically determines if the
> Component in question is ThreadSafe, SingleThreaded, or Poolable.
> If no Configuration element is provided for a Component, but the
> Component is Configurable, it will manufacture an empty Configuaration
> element. It's pretty cool stuff.
>
> STANDARD DECLARATION
> --------------------
>
> <!--
> A component directly accessible from the manager
> -->
> <component role="org.apache.avalon.excalibur.MyRole"
> class="org.apache.something">
> <parameter name="test" value=""/>
> </component>
>
> <!--
> A component indirectly accessible from a selector
> -->
> <component role="org.apache.somethingSelector"
> class="org.apache.avalon.excalibur.ExcaliburSelector">
> <component-instance hint="foo"
> class="org.apache.something">
> <parameter name="test" value="foo"/>
> </component-instance>
> <component-instance hint="bar"
> class="org.apache.something">
> <parameter name="test" value="bar"/>
> </component-instance>
> </component>
>
> SHORTHAND ROLE MANAGER CONFIG
> -----------------------------
>
> <roles>
> <role name="org.apache.avalon.excalibur.MyRole"
> shorthand="something"
> default-class="org.apache.something"/>
>
> <role name="org.apache.somethingSelector"
> shorthand="things"
> default-class="org.apache.avalon.excalibur.ExcaliburSelector">
> <hint shorthand="something" class="org.apache.something"/>
> </role>
> </roles>
>
> SHORTHAND COMPONENT CONFIG
> --------------------------
>
> <!--
> A component directly accessible from the manager
> -->
> <something>
> <parameter name="test" value=""/>
> </something>
>
> <!--
> A component indirectly accessible from a selector
> -->
> <things>
> <something hint="foo">
> <parameter name="test" value="foo"/>
> </something>
> <something hint="bar">
> <parameter name="test" value="bar"/>
> </something>
> </things>
>
> ---------------------------------------------------------------------
> To unsubscribe, e-mail: [EMAIL PROTECTED]
> For additional commands, e-mail: [EMAIL PROTECTED]
---------------------------------------------------------------------
To unsubscribe, e-mail: [EMAIL PROTECTED]
For additional commands, e-mail: [EMAIL PROTECTED]