`

web项目启动时启动定时任务或者其他的方法

阅读更多
web项目启动时可能需要启动一些定时任务 或者一些其他的方法,这里我使用的是listener, 因为容器启动listener时spring还未完成加载, 所以无法自动注入对象

java代码
package cn.resoft.dmps.plan.task;

import javax.servlet.ServletContextEvent;
import javax.servlet.ServletContextListener;

import org.springframework.context.ApplicationContext;
import org.springframework.web.context.support.WebApplicationContextUtils;

import cn.resoft.dmps.plan.service.TaskMain;

public class TimerStartTask implements ServletContextListener {

	private TaskMain taskMain;

	public void contextInitialized(ServletContextEvent event) {
		ApplicationContext applicationContext = WebApplicationContextUtils
				.getWebApplicationContext(event.getServletContext());
		taskMain = (TaskMain) applicationContext.getBean("taskMain");
		if (null == taskMain) {
			taskMain = new TaskMain();
		}
		taskMain.startTimer(applicationContext);
	}

	public void contextDestroyed(ServletContextEvent sce) {

	}

}


web.xml配置
<listener>
		<listener-class>cn.resoft.dmps.plan.task.TimerStartTask</listener-class>
	</listener>
分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics