Leo Sutic wrote: > > > From: Carsten Ziegeler [mailto:[EMAIL PROTECTED]] > > > > Would work, but if that's the case, I have to implement a > > "factory", the parser itself (including the "factory" > > interface, the parser interface) etc. and I don't see the > > great advantage in using a component framework anymore as I > > code most part myself. > > > > Am I wrong? > > Carsten, > > you got it right. Those are exactly the implications of the > proposal. > > Now for the good parts: The factory can be generic. > So I code up a PooledFactory that takes your component class > as a parameter, and bam there we go. > > The only change is that you'll have to grab the factories > out of the ComponentManager in the compose() method: > > <component role="org.ziegeler.CarstensComponent" > class="Avalon4Factory" > avalon-4-class="org.ziegeler.CarstensA4Component" > pool-min="2" > pool-max="4"/> > > ... > > public class CarstensComposer { > > A4Factory carstenFactory; > > public void compose (ComponentManager manager) { > carstenFactory = (A4Factory) manager.lookup > (org.ziegeler.CarstensComponent.ROLE); > } > > public void doStuff () { > CarstensComponent comp = (CarstensComponent) > carstenFactory.getInstance (); > try { > comp.doStuff (); > } finally { > carstenFactory.release (comp); > } > } > } > > Look at the configuration snippet, and replace "class" with > "handler-class" and "avalon-4-class" with "class" and you get > the idea. > > ..or am I trying to do the impossible here?
Ok, but *WHY*? I have a gut feeling that you'll need *STONG* arguments (or a bunch of time to volunteer) to make the cocoon-dev community buy that. Moreover, I was told that Component was changed to Object to allow non-avalon stuff to be returned by the CM and now you force these to be thread-safe? These two solutions tend to push in different directions, IMHO. Please, explain. -- Stefano Mazzocchi One must still have chaos in oneself to be able to give birth to a dancing star. <[EMAIL PROTECTED]> Friedrich Nietzsche -------------------------------------------------------------------- -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>