spring定时器.doc_第1页
spring定时器.doc_第2页
spring定时器.doc_第3页
spring定时器.doc_第4页
spring定时器.doc_第5页
免费预览已结束,剩余1页可下载查看

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

Spring中使用Quartz的种方法(extends QuartzJobBean与使用MethodInvokin.开发环境:Spring2.0。如果包类没有Quartz包,则需要加入到类路径。A:extends QuartzJobBean方法1:定义任务(extends QuartzJobBean)package onlyfun.bb.Quartz;import org.quartz.JobExecutionContext;import org.springframework.scheduling.quartz.QuartzJobBean;public class QuartzDemo extends QuartzJobBean private JobData jobData; /JobData为自定义类 public void executeInternal(JobExecutionContext context) System.out.println(jobData.getData()+ is executed); public JobData getJobData() return jobData; public void setJobData(JobData jobData) this.jobData = jobData; JobData.java:package onlyfun.bb.Quartz;import java.util.Date;public class JobData public String getData() return Data from JobData at +new Date().toString(); 2: 配置 注意:在JobDetailBean的jobClass属性必须提供Job的类名称,而不是Job类的实例。Job所需的数据可以在jobDataAsMap属性中设置。在任务的周期指定上,使用SimpleTriggerBean类来指定,与TimerTask指定方式类似。排定Job用SchedulerFactoryBean类。完成设置后,只要在启动Spring并读取定义文件后,计划任务就会执行。3:测试package onlyfun.bb.Quartz;import java.io.*;import org.quartz.Scheduler;import org.quartz.SchedulerException;import org.springframework.context.ApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;public class TestQuartzDemo public static void main(String args) throws IOException / TODO Auto-generated method stub ApplicationContext context=new ClassPathXmlApplicationContext(applicationContext.xml); System.out.println(启动Task:); System.out.println(请输入 exit 结束Task:); /A处 BufferedReader reader=new BufferedReader(new InputStreamReader(System.in); while(true) if(reader.readLine().equals(exit) break; /此句可以放在A处 Scheduler scheduler=(Scheduler)context.getBean(scheduledFactoryBean); try scheduler.shutdown(); catch (SchedulerException e) / TODO Auto-generated catch block e.printStackTrace(); 4:测试分析:使用SimpleTriggerBean类只能做简单Job与Job之间的执行周期指定,如果需要在指定时间执行,可以使用CronTriggerBean类。修改配置文件如下: 注意:CronTriggerBean的cronExpression属性指定格式:至少6个时间元素,上面表示每天的15:37-38分执行1次任务。时间元素(按照顺序):秒(0-59):分(0-59):小时(0-23):每月第几天(1-31):月(1-12或JAN-DEC):每星期第几天(1-7或SUN-SAT):年(1970-2099):其中:不用设置的用”?”.(1)每月第几天和每星期第几天是互斥的,两个只能设置1个。如果有好几个时间点,可以使用”,”符号,例如:”0 0 10,12,14 * * ?”表示每天的10时,12时,14时执行Job.(2)对于连续时间可以使用”-”符号。例如:”0 10,12,14 1-15 * ?”表示每月的1到15日10时,12时,14时执行Job.(3)时间格式的年可以不用制定。例如”0 0 10,12,14 ? MON 2006”表示2006年每星期一的10时,12时,14时执行Job.B:不需要继承的任务制定方法使用Spring不一定需要继承QuartzJobBean类来定义1个Job类,可以使用MethodInvokingJobDetailFactoryBean来直接指定执行某个对象的方法。修改如下:1:建立Job类(普通类)package onlyfun.bb.Quartz;/*使用MethodInvokingJobDetailFactoryBean类制定任务:* 1个Job类:没有继承QuartzJobBean* author Administrator*/public class QuartzDemo2 private JobData jobData; public void execute() System.out.println(jobData.get

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论