zoukankan      html  css  js  c++  java
  • Quartz,启动不立即执行问题

    我的Quartz 是2.2版本,

    在java程序中写了两个加入计划方法

    ////  添加简单计划任务 author:iresearch.com.cn -- jackical
     	public static void AddSimplejob(String jobName,String strTrigger,int id,int hour,int minute,Date DateStart) throws SchedulerException{
    		
    		Scheduler sched=sf.getScheduler();
    		
    		Calendar calendar=GregorianCalendar.getInstance();
    		calendar.setTime(DateStart);
    		int intYear= calendar.get(Calendar.YEAR);
    		int intMonth=calendar.get(Calendar.MONTH)+1;
    		int intDay=calendar.get(Calendar.DAY_OF_MONTH);
    		
    		Date runDate=DateBuilder.dateOf(hour, minute, 0,intDay,intMonth,intYear);   //////  设置执行的时间
    		
    		JobDetail jobDetail=JobBuilder.newJob(DoJob.class)
    				.withIdentity(jobName,JOB_GROUP_NAME)
    				.usingJobData("id",id)
    				.build();
    		
    		SimpleTrigger trigger=(SimpleTrigger)TriggerBuilder
    				.newTrigger()
    				.withIdentity(strTrigger,TRIGGER_GROUP_NAME)
    				.startAt(runDate)
    				.withSchedule(SimpleScheduleBuilder.simpleSchedule() 
    						.withIntervalInMinutes(3)
    						.withRepeatCount(0)
    						)
    				.build();
    		
    		/*
    		 * 				.withSchedule(SimpleScheduleBuilder.simpleSchedule()
    						.withIntervalInSeconds(10)
    						.withRepeatCount(0)
    						)
    		 * */
    		
    		sched.scheduleJob(jobDetail,trigger);
    		sched.start();
    	}
    	
    	/////  添加定时任务 author:iresearch.com.cn -- jackical 
     	public static void AddCronJob(String jobName,String strTrigger,int id,String strExp,Date DateStart,Date DateEnd) throws SchedulerException, ParseException{
    		
    		Scheduler sched=sf.getScheduler();
    		
    		JobDetail jobDetail=JobBuilder.newJob(DoJob.class)
    				.withIdentity(jobName,JOB_GROUP_NAME)
    				.usingJobData("id",id)
    				.build();
    		
    		Trigger trigger=(CronTrigger)TriggerBuilder
    				.newTrigger()
    				.withIdentity(strTrigger,TRIGGER_GROUP_NAME)
    				.startAt(DateStart)
    				.endAt(DateEnd)
    				.withSchedule(CronScheduleBuilder.cronSchedule(strExp)
    						.withMisfireHandlingInstructionDoNothing()
    						)
    				.build();
    		
    		
    		sched.scheduleJob(jobDetail,trigger);
    		sched.start();
    		
    	}
    

      

    发现这个使用simpleTrigger 的没有参数设置第一次启动时不执行 ....只有CromTrigger 有个参数可以设置第一次添加不执行计划 “withMisfireHandlingInstructionDoNothing()”

    转载请注时出处:http://www.cnblogs.com/jackicalSong/

    所以我的第一个方法就废了,但第二个方法一样可以用.....

  • 相关阅读:
    访问HDFS报错:org.apache.hadoop.security.AccessControlException: Permission denied
    Python获取指定文件夹下的文件
    逗号引起的大坑,str进去,tuple出来,为啥
    Python代码调用JS函数
    Key没有引号的K-V格式字符串,怎么转换成Json/dict
    Redis设置密码和取消密码
    elasticsearch 查询(match和term)
    bat 拾遗
    windows下elasticsearch5.X安装IK分词器
    pycharm 右键为什么会出现 "Run Twisted Trial in testxxx.py"
  • 原文地址:https://www.cnblogs.com/jackicalSong/p/3922067.html
Copyright © 2011-2022 走看看