Spring容器初始化后执行的方法
在项目中, 会遇到要在容器加载完就做一些初始化, 例如Quartz的监听器重新注册(Quartz监听器在RAM中的, Web容器重启或关闭会丢失)等需求。 import org.springframework.context.ApplicationListener;import org.springframework.context.event.ContextRefreshedEvent
·
在项目中, 会遇到要在容器加载完就做一些初始化, 例如Quartz的监听器重新注册(Quartz监听器在RAM中的, Web容器重启或关闭会丢失)等需求。
import org.springframework.context.ApplicationListener;
import org.springframework.context.event.ContextRefreshedEvent;
public class InitialSchedulerListner implements ApplicationListener<ContextRefreshedEvent> {
@Override
public void onApplicationEvent(ContextRefreshedEvent event) {
// 在web 项目中,系统会存在两个容器,一个是root application context ,另一个就是项目的projectName-servlet context(root application context的子容器)
// Return the parent context, or null if there is no parent and this is the root of the context hierarchy
if(event.getApplicationContext().getParent() == null){ // 保证了容器只执行一次..
try {
// 业务逻辑
} catch (Exception e) {
}
}
}
}
<bean class="com.wenniuwuren.*.InitialSchedulerListner" />
更多推荐
已为社区贡献1条内容
所有评论(0)