On Thu, 2002-03-14 at 12:39, [EMAIL PROTECTED] wrote: > dobbs 02/03/14 09:39:37 > > Added: notes ComponentLoader.txt > Log: > moved these notes from Fulcrum. > > Jason, could you please review these notes a bit. I've tried to > capture some of the stuff we have discussed on IRC, but I think I'm > missing a few things. Of particular interest is the start on the > distinction between components and services. I think you have a > couple more examples that I have missed, and I might have got a couple > of the examples wrong.
Ok, I'll review them. > Revision Changes Path > 1.1 jakarta-turbine-stratum/notes/ComponentLoader.txt > > Index: ComponentLoader.txt > =================================================================== > ComponentLoader > --------------- > > FIXME: this info should probably be moved into a package.html doc for > o.a.stratum.component, but we'll wait until the component stuff > is a little more settled. > > The ComponentLoader is used by Turbine and Fulcrum and Torque. It's > job is to load components (some of which might also be services) and > call their lifecycle methods. > > One goal for the ComponentLoader is to enable someone to extend any > arbitrary class, implement the lifecycle interfaces, and use it as a > component in the Turbine family. > > This trick will be useful for migrating some of Fulcrum's services > into components. It may also enable turbine users to migrate their > Turbine 2.1 services to components. > > At the moment, the component loader is only used by Turbine to load > Torque and Fulcrum. The components are assumed to be self-sustaining, > and assumed to provide some static methods for interfacing with the > components. The ComponentLoader does not currently store any > references to components once they have been loaded. > > FIXME: Still need a better definition to distinguish a service from a > component, including examples to illustrate the differences. > > Components vs. Services Services are a kind of component. Many of > them seem to revolve around interactive network interfaces. Some > examples include xmlrpc and ftp. Some items are too fundamental to > any application to be either components or services. Examples include > pooling, caching, database access, security. These examples are > currently services but should be changed to components: upload > service, ??. > > > Other 2.1->Fulcrum migration plans: > > jason can swap all the imports with the transformer in maven and then > people will probably have to poke around for a couple minutes. > > > Longer-term plans: > > let the ComponentLoader reload components without stopping the server. > It will have its own classloader eventually (probably borrowing the > webapp classloader code from catalina). We can look for a > configuration.xml in a standard place in the component's jar or look > at the manifest and use that to configure the component. > > We'll probably provide some kind of key->value map to store references > to the components, or treat them similarly to the way pull tools are > handled -- where request scope tools are loaded for each request. > Something similar might work for components as well. Another option > is to provide a reference to a pool of a particular kind of component. > > > > > > -- > To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> > For additional commands, e-mail: <mailto:[EMAIL PROTECTED]> -- jvz. Jason van Zyl [EMAIL PROTECTED] http://tambora.zenplex.org -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
