是否可以告诉spring的容器销毁特定的bean(原型)以节省内存?
我不想使用 ctx.close() 来看到这个 bean 被销毁,而是在运行时。
如果我理解正确的话,你想删除运行时在 ctx 中定义的 bean,我会使用BeanDefinitionRegistry
为了完成这件事,BeanDefinitionRegistry
有一个removeBean()方法,它以bean名称作为参数。
BeanDefinitionRegistry factory =
(BeanDefinitionRegistry) applicationCtx.getAutowireCapableBeanFactory();
Then
((DefaultListableBeanFactory) beanFactory).destroySingleton("myBean");
EDIT
参考http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/beans/factory/support/BeanDefinitionRegistry.html#removeBeanDefinition%28java.lang.String%29 http://static.springsource.org/spring/docs/3.0.x/api/org/springframework/beans/factory/support/BeanDefinitionRegistry.html#removeBeanDefinition%28java.lang.String%29
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)