> From: Stephen McConnell [mailto:[EMAIL PROTECTED]] > > [EMAIL PROTECTED] wrote: > > > /** > > * Lifestyle implementation that provides suppport for the > per thread > > * policy. Request for a single instance will allways return the > > * same instance for each request. > > * > > * NOTE: Need to register a listener for threaddeath so I > can properly > > * dispose of the component when the associated thread dies. > > * > > * NOTE 2: This is untested. > > * > > > > > > Berlin:
Berin (no 'l') ;) > > Looking good! Thanks. > > Here is a log of four instances of the "simple" component, > each running > in a seperate container (therefor each in a seperate thread) > except for > the "simple" and "simpleX" component which share the same container. > I'm printing out the identity hashcode of a single lifecycle > extension > that is extending all of these components. The lifecycle > extension has > been declared with a "thread" lifestyle policy. > > As you can see - the instance is only being created in in a > new thread. The only problem is that it is not being destroyed--properly-- with the thread. A better alternative may to create a proxy that takes advantage of the finalize() method. It will cycle the component through the destroy lifecycle. As to the MPool implementation, we need a CommandQueue and the PoolManager. I would prefer to place the CommandQueue and the PoolManager in either the kernel or some other container--otherwise we have a new copy for each component, which is not ideal. I would be happy to hear any suggestions on how to handle that. My ContainerManager sets those up, and then it passes it to the container. > > Cheers, Steve. > > > [INFO ] (root.simple#23503403): create id: 7841785, > Thread[Thread-2,5,main] > [INFO ] (root.simple#23503403): access id: 7841785, > Thread[Thread-2,5,main] > [INFO ] (root.sub.demo.simple): create id: 813251, > Thread[Thread-4,5,main] > [INFO ] (root.sub.demo.simple): access id: 813251, > Thread[Thread-4,5,main] > [INFO ] (root.sub.demo.simpleX): create id: 813251, > Thread[Thread-4,5,main] > [INFO ] (root.sub.demo.simpleX): access id: 813251, > Thread[Thread-4,5,main] > [INFO ] (root.sub.demo.working.admin.simple2): create id: 31538514, > Thread[Thread-9,5,main] > [INFO ] (root.sub.demo.working.admin.simple2): access id: 31538514, > Thread[Thread-9,5,main] > [INFO ] (root.sub.demo.simple): release id: 813251, > Thread[Thread-4,5,main] > [INFO ] (root.sub.demo.simple): destroy id: 813251, > Thread[Thread-4,5,main] > [INFO ] (root.sub.demo.simpleX): release id: 813251, > Thread[Thread-4,5,main] > [INFO ] (root.sub.demo.simpleX): destroy id: 813251, > Thread[Thread-4,5,main] > [INFO ] (root.sub.demo.working.admin.simple2): destroy id: > 31538514, > Thread[Thread-9,5,main] > [INFO ] (root.simple#23503403): release id: 7841785, > Thread[Thread-2,5,main] > [INFO ] (root.simple#23503403): destroy id: 7841785, > Thread[Thread-2,5,main] > > > > > > -- > > Stephen J. McConnell > > OSM SARL > digital products for a global economy > mailto:[EMAIL PROTECTED] > http://www.osm.net > > > > > -- > To unsubscribe, e-mail: > <mailto:avalon-dev-> [EMAIL PROTECTED]> > For > additional commands, > e-mail: <mailto:[EMAIL PROTECTED]> > -- To unsubscribe, e-mail: <mailto:[EMAIL PROTECTED]> For additional commands, e-mail: <mailto:[EMAIL PROTECTED]>
