1 <!-- 注册MyJobs --> 2 <bean id="myJob" class=" cn.itheima.bos.jobs.WorkBillJobs"></bean> 【4】
3 <!-- 配置jobDetail --> 4 <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 5 <property name="targetObject" ref="myJob"></property> 【3】 6 <property name="targetMethod" value="sendMail"></property> 7 </bean>
8 <!-- 配置CronTriggerFactoryBean --> 9 <bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> 10 <property name="jobDetail" ref="jobDetail"></property> 【2】 11 <!-- 配置什么时间触发任务 --> 12 <property name="cronExpression"> 13 <!-- 每隔5秒钟执行一次job --> 14 <value>0/5 * * * * ?</value> 15 </property> 16 </bean>
17 <!-- 配置SchedulerFactoryBean --> 18 <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 19 <property name="triggers"> 20 <list> 21 <ref bean="myTrigger"/> 【1】 22 </list> 23 </property> 24 </bean>
【1】一个调度框架可以有多可任务
【2】什么时间执行什么任务
【3】【4】具体执行任务的方法,逻辑
类
1 public class WorkBillJobs { 2 3 @Resource 4 private IWorkBillDao workBillDao; 5 6 /** 7 * 发送邮件 8 */ 9 public void sendMail(){ 10 //查询所有工单数据 11 List<WorkBill> workBillList = workBillDao.findAll(); 12 if(workBillList != null){ 13 //通过邮箱工具类发送邮件给客户 14 String content = "<table border='1px'><tr><td>工单id</td><td>工单类型 </td><td>取件状态 </td><td>快递员</td></tr>"; 15 for (WorkBill workBill : workBillList) { 16 //工单id 工单类型 取件状态 快递员 17 18 Courier c = workBill.getCourier(); 19 String cname = ""; 20 if(c != null){ 21 cname = c.getName(); 22 } 23 content += "<tr><td>" + workBill.getId() + "</td><td>" + workBill.getType() + "</td><td>" 24 + workBill.getPickstate() + "</td><td>" + cname + "</td></tr>"; 25 } 26 content+="</table>"; 27 28 String subject ="统计所有工单数据"; 29 30 String to = "wangxin@itcast.cn"; 31 System.out.println("邮件发送内容。。。"+subject+content+to); 32 MailUtils.sendMail(subject, content, to ); 33 System.out.println("邮件发送成功。。。"); 34 } 35 36 } 37 }