跟踪JavaWeb项目启动

  项目背景:在项目开发过程中,遇到定时调度在执行过程中发生项目停止,在项目下次重启后,需要对该调度任务进行“拯救”,重新唤醒它,并记录启动情况

Web.xml中定义servlet,初始化整个项目代码如下:

	<servlet>
		<servlet-name>SystemInit</servlet-name>
		<servlet-class>sjgl.system.SystemInitServlet</servlet-class>
		<load-on-startup>10</load-on-startup>
	</servlet>
SystemInitServlet是项目启动后初始化的操作,该方法继承HttpServlet方法,具体代码如下
public class SystemInitServlet extends HttpServlet{
	private static Logger log = LoggerFactory.getLogger(SystemInitServlet.class) ;
	IlogService logService=(IlogService)SpringContextHolder.getBean("logService");//日志相关
	ImxddService mxddService=(ImxddService)SpringContextHolder.getBean("mxddService");//更新调度
	/**
	 * 
	 */
	private static final long serialVersionUID = -8466250302984592411L;
	/**
	 * 初始化完成
	 */
	public void init() throws ServletException {
		/**
		 * 标记启动成功
		 */
		DataContext.setStart(true) ;		
		log.info("系统初始化完成") ;
		//初始化上次关闭正在执行的调度
		List<JobDetail> list=mxddService.getjob();
		for(int i=0;i<list.size();i++){
			JobDetail job=list.get(i);
			job.setTaskstatus("0");
			job.setNextfiretime(new Date());
			mxddService.update(job);
			Log log=new Log();
			log.setId(DataContext.getnum());
			log.setZt("Y");
			log.setZxkssj(new Date());
			log.setZxjssj(new Date());
			log.setRzlb("3");
			log.setZxrdm(job.getUserid());
			log.setZxms(job.getName()+"调度转换状态");
			logService.addlog(log);
		}
		
 	}
}



猜你喜欢

转载自blog.csdn.net/coder_zyz/article/details/79005652