spring+timer
1 .使用java Timer调度任务
第一步 web.xml
org.springframework.web.context.ContextLoaderListener contextConfigLocation /WEB-INF/classes/applicationContextTimeTask.xml
第二步 配置applicationContextTimeTask.xml
10000 5000
第三步 相关类的编写
EmailReportTask.java
public class EmailReportTask extends TimerTask {//必需继承TimerTask Log log= LogFactory.getLog(EmailReportTask.class); public EmailReportTask() { } public void run() {//这个函数是调度任务执行的入口 log.debug("task begin :"+testBean.greeting); } private TestBean testBean;//这里实现spring的依赖注入 public void setTestBean(TestBean testBean) { this.testBean = testBean; } }
testBean.java public class TestBean { public String greeting="hello,world"; }
spring+Quartz
Quartz 作业调度框架所提供的 API 在两方面都表现极佳:既全面强大,又易于使用。Quartz 可以用于简单的作业触发,也可以用于复杂的 JDBC 持久的作业存储和执行。
第一步 同上
第二步 配置applicationContextTimeTask.xml
com.photo.task.EmailReportTask2
3600000 86400000
0/5 * * * * ?
第三步 相关类的编写
EmailReportTask2.java public class EmailReportTask2 extends QuartzJobBean { Log log = LogFactory.getLog(EmailReportTask.class); public EmailReportTask2() { } //这个函数是调度任务执行的入口 protected void executeInternal(JobExecutionContext jobExecutionContext) throws org.quartz.JobExecutionException { log.debug("task 2 begin :" + testBean.greeting); } private TestBean testBean;//这里实现spring的依赖注入 public void setTestBean(TestBean testBean) { this.testBean = testBean; } }