我现在手头一个项目有这么一个需求.
在工程启动的时候开启一个线程, 这个线程每隔一段时间去查询或是同步数据..
我找了半天资料都不知道在SSH工程中应该如何做到这种效果.
使用static{}静态块也没用, 里面的代码压根不执行.
有很多方法,用一个servlet来做也可以啊, startup置成1, 然后在这里面执行一些任务就可以了。或者用多线程来做就可以了。
servlet的情况用HttpSessionListener
spring的情况用InitialBean
InitializingBean
[code="java"]
@Component
public class InitApp implements ApplicationListener {
@Autowired XXXDao xxxDao
public void onApplicationEvent(ApplicationEvent event) { if(event instanceof ContextRefreshedEvent){
//当ApplicationContext初始化或者刷新时触发该事件。
//开启你的线程
}
}
}
[/code]
自己写个监听(ServletContextListener),在监听启动时启动你的线程。类似于spring的加载监听。