【发布时间】:2017-10-26 16:29:30
【问题描述】:
我有一个用注解@Bean 声明的bean
@Bean
public Set<DefaultMessageListenerContainer> beans() {
Set<DefaultMessageListenerContainer> containerSet = new HashSet<DefaultMessageListenerContainer>();
return containerSet;
}
我在销毁 bean 时有一些操作要执行。我怎样才能做到这一点?
我知道我可以在使用@Component 注释的类中的方法上使用@predestroy 注释,但不确定在声明@Bean 注释时如何做到这一点。
编辑:
@Bean(destroyMethod="stopContainers")
public Set<DefaultMessageListenerContainer> containers() {
Set<DefaultMessageListenerContainer> containerSet = new HashSet<DefaultMessageListenerContainer>();
return containerSet;
}
public void stopContainers(){
Set<DefaultMessageListenerContainer> containerSet = containers();
......
}
}
但是我收到一个错误,在名为“containers”的 bean 上找不到名为“stopContainers”的销毁方法 如何解决这个问题?
【问题讨论】:
标签: java spring spring-mvc annotations predestroy