关于JdonFramework中的PicoContainer

09-07-26 fxltsbl3855
在研究JdonFramework,少不了研究PicoContainer

代码如下:

MutablePicoContainer pico = new DefaultPicoContainer(

new SetterInjectionComponentAdapterFactory());

pico.registerComponentImplementation(A.class);

pico.registerComponentImplementation(B.class);

pico.registerComponentImplementation(AB.class);

pico.start();

pico.stop();

AB ab = (AB) pico.getComponentInstance(AB.class);

这段代码运行没问题。(AB类也实现了Startable接口)

问题:pico 已经stop了,为什么还能取得注册的组件?(看文档说stop是容器的生命周期管理,生命结束呗)

大概指点一下,谢了

fxltsbl3855
2009-07-26 21:52
按理说这段代码应当这么写才对

MutablePicoContainer pico = new DefaultPicoContainer(

new SetterInjectionComponentAdapterFactory());

pico.registerComponentImplementation(A.class);

pico.registerComponentImplementation(B.class);

pico.registerComponentImplementation(AB.class);

pico.start();

AB ab = (AB) pico.getComponentInstance(AB.class);

pico.stop();

banq
2009-07-27 09:30
后面一个代码是对的。

stop相当于EJB和Spring中的destory,如果你不在stop中包含代码,表面没有影响。

猜你喜欢