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]
