Quartz示例

QuartzServlet
	public class QuartzServlet extends HttpServlet {
	public void doGet(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
	}

	public void doPost(HttpServletRequest request, HttpServletResponse response)
			throws ServletException, IOException {
	}

	public void init() throws ServletException {
		try{
            startScheduler();
        }catch (SchedulerException ex){
            ex.printStackTrace(); 
        }
	}
	
	
	protected void startScheduler() throws SchedulerException {
    	long ctime = System.currentTimeMillis();
        //使用工厂创建调度器实例
        Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler(); 
        //以作业创建JobDetail实例
        JobDetail jobDetail = new JobDetail("dd", Scheduler.DEFAULT_GROUP,QuartzJob.class);
        //创建trigger
        //Trigger trigger = new SimpleTrigger("dd",Scheduler.DEFAULT_GROUP,5000,200) ;
        
        //start
        
        SimpleTrigger trigger =new SimpleTrigger("simpleTrigger","triggerGroup-s1");
        trigger.setStartTime(new Date(ctime));
        // set the interval, how often the job should run (10 seconds here)
        trigger.setRepeatInterval(20000);
        // set the number of execution of this job, set to 10 times.
        // It will run 10 time and exhaust.
        trigger.setRepeatCount(2);
        
        
        //end
        
        //调度器将作业与trigger关联起来
        scheduler.scheduleJob(jobDetail, trigger); 
        //开始调度
        scheduler.start();
		
		 /*try {
	            Scheduler scheduler = null;
	            scheduler = StdSchedulerFactory.getDefaultScheduler();	            
	            jobDetail(scheduler, "Jobhouse", scheduler.DEFAULT_GROUP,"triger1", Scheduler.DEFAULT_GROUP, 
	            		QuartzJob.class,"0 0 0 * * ?");//每天凌晨0点执行
	            scheduler.start();
	        } catch (Exception ex) {
	        	ex.printStackTrace();
	        } */
    }
	
	 private static void jobDetail(Scheduler scheduler, String jobName,
             String jobgroup,
             String trigerName,
             String trigerGroup, Class jobClass,
             String triggerTime) {
			try {
			//任务实体
			JobDetail jobDetail = new JobDetail(jobName, jobgroup, jobClass);
			//任务触发器
			Trigger trigger = new CronTrigger(trigerName, trigerGroup,triggerTime);
			//将任务添加到调度器
			scheduler.scheduleJob(jobDetail, trigger);
			} catch (Exception ex) {
				ex.printStackTrace();
			} 
			}
}


QuartzJob
public class QuartzJob implements Job{
    
   public void execute(JobExecutionContext context) throws JobExecutionException{
	   QuartzInfo info=new QuartzInfo();
	    ArrayList list=info.getGenreID();	    
        System.out.println(new Date() +"    作业调度开始。");
        for(int i=0;i<list.size();i++){
	        ArrayList genre=info.getGenre((String)list.get(i));
	        ArrayList pro=info.getPro((String)list.get(i));
	        Feed feed=new Feed();	        
	        feed.transferFunds(genre, pro,(String)list.get(i));
        }
        System.out.println(new Date() +"    作业调度结束。");
    }
}

你可能感兴趣的:(quartz)