zoukankan      html  css  js  c++  java
  • Quartz

    所需架包

    第一步:创建entity类

    package cn.happy.entity;
    
    public class Plan {
        private String date; //时间
        
        private String task; //任务
        
        
        public Plan(String date, String task) {
            this.date = date;
            this.task = task;
        }
        
    
        public Plan() {
            
        }
    
        @Override
        public String toString() {
            return "Plan [date=" + date + ", task=" + task + "]";
        }
    
        public String getDate() {
            return date;
        }
    
        public void setDate(String date) {
            this.date = date;
        }
    
        public String getTask() {
            return task;
        }
    
        public void setTask(String task) {
            this.task = task;
        }
    }

    第二步:创建quartz

    package cn.happy.quartz;
    
    import org.quartz.Job;
    import org.quartz.JobExecutionContext;
    import org.quartz.JobExecutionException;
    
    import cn.happy.service.RemindService;
    
    public class RemindJob implements Job {
    private RemindService service=new RemindService();
        @Override
        public void execute(JobExecutionContext arg0) throws JobExecutionException {
            
            service.printMessage();
            
            
            
    
        }
    
        public RemindService getService() {
            return service;
        }
        public void setService(RemindService service) {
            this.service = service;
        }
    }

    第三步:创建service

    package cn.happy.service;
    
    import java.util.ArrayList;
    import java.util.List;
    
    import cn.happy.entity.Plan;
    
    public class RemindService {
        public List<Plan> getPlansforToday(){
            List<Plan> list=new ArrayList<Plan>();
            Plan plan1=new Plan("2016-12-17 23:02:32","Study makes me happy!!"); 
            Plan plan2=new Plan("2016-12-17 23:02:50","Really!!"); 
            list.add(plan1);
            list.add(plan2);
            return list;
        }
    
        
        public void printMessage(){
            
            
            List<Plan> list=getPlansforToday();
            for (Plan plan : list) {
                System.out.println("计划的时间:"+plan.getDate()+"计划的内容:"+plan.getTask());
                
            }
            
        }
    }

    第四步:创建测试类

    package cn.happy.test;
    
    import java.util.Date;
    
    import org.quartz.JobBuilder;
    import org.quartz.JobDetail;
    import org.quartz.Scheduler;
    import org.quartz.SchedulerFactory;
    import org.quartz.SimpleScheduleBuilder;
    import org.quartz.Trigger;
    import org.quartz.TriggerBuilder;
    import org.quartz.impl.StdSchedulerFactory;
    
    import cn.happy.quartz.RemindJob;
    
    public class MyQuartzTest {
        
    public static void tool() throws Exception{
            
            //创建job
            JobDetail job = JobBuilder.newJob(RemindJob.class)//
                    .withIdentity("job1", "group1").build();
            
            //构建trigger
         Trigger trigger = TriggerBuilder.newTrigger() 
                     .withIdentity("myTrigger", "myTriggerGroup")
                     .withSchedule(SimpleScheduleBuilder.simpleSchedule()
                         .withIntervalInSeconds(3)
                         .repeatForever())
                     .startAt(new Date(System.currentTimeMillis()))
                     .build();
            
            
            //创建调度者工厂
            SchedulerFactory sfc = new StdSchedulerFactory();
            //创建一个调度者
            Scheduler sched=sfc.getScheduler();    
            //注册并进行调度
            sched.scheduleJob(job, trigger);
            sched.start();
            //Thread.sleep(3000);
                    
        }
        
        public static void main(String[] args)  {
            try {
                tool();
            } catch (Exception e) {
                e.printStackTrace();
            }
            System.out.println("aa");
        }
    }

    每隔三秒输出一次

  • 相关阅读:
    .net core 实现默认图片
    解决ASP.NET Core部署到IIS,更新项目"另一个程序正在使用此文件,进程无法访问"
    c# 按位与,按位或
    找对象,贤妻良母vs事业型
    基于Redis的分布式锁和Redlock算法
    关于free如何知道要释放内存空间的长度问题(X86篇)
    OpenWrt开发教程(五)shell命令操作json api详解(jshn.sh)
    Linux常见错误码声明
    SDN实验---流表项对网络的影响
    delphi 给TComboBox 添加图标
  • 原文地址:https://www.cnblogs.com/lizeyang/p/6194471.html
Copyright © 2011-2022 走看看