【发布时间】:2013-05-21 10:37:59
【问题描述】:
是否可以告诉spring的容器销毁特定的bean(原型)以节省内存?
我不想使用 ctx.close() 来查看这个 bean 被破坏,而是在运行时。
【问题讨论】:
-
是否对 beans 使用注解或 xml 配置?
是否可以告诉spring的容器销毁特定的bean(原型)以节省内存?
我不想使用 ctx.close() 来查看这个 bean 被破坏,而是在运行时。
【问题讨论】:
如果我理解正确你想删除在运行时在 ctx 中定义的 bean,我会使用 BeanDefinitionRegistry 来完成这项工作吗,BeanDefinitionRegistry 有一个 removeBean() 方法,它将 bean 名称作为参数。
BeanDefinitionRegistry factory =
(BeanDefinitionRegistry) applicationCtx.getAutowireCapableBeanFactory();
然后
((DefaultListableBeanFactory) beanFactory).destroySingleton("myBean");
编辑
【讨论】: