b2科目四模拟试题多少题驾考考爆了怎么补救
b2科目四模拟试题多少题 驾考考爆了怎么补救

quartz jdk15_quartz手表是什么牌子_bcprov jdk15on(5)

电脑杂谈  发布时间:2017-04-30 00:05:19  来源:网络整理

package com.lxq.quartz.test;

import java.util.Date;
import java.util.GregorianCalendar;

import org.quartz.CronTrigger;
import org.quartz.JobDetail;
import org.quartz.Scheduler;
import org.quartz.SchedulerException;
import org.quartz.SchedulerFactory;
import org.quartz.SimpleTrigger;
import org.quartz.TriggerUtils;
import org.quartz.impl.StdSchedulerFactory;
import org.quartz.impl.calendar.AnnualCalendar;

public class TestQuartz
{
	public static void main(String[] args) throws SchedulerException
	{
		TestQuartz testQuartz=new TestQuartz();
		testQuartz.test3();
		
	}

	public void test1()
	{
		//通过SchedulerFactory来获取一个调度器
		SchedulerFactory schedulerFactory = new StdSchedulerFactory();
		Scheduler scheduler;
		try
		{
			scheduler = schedulerFactory.getScheduler();
			//引进作业程序public JobDetail(String jobName, String jobGroupName, Class jobClass){}
			JobDetail jobDetail = new JobDetail("jobDetail-j1", "jobGroup-g1", BaseJob.class);
			/*new一个触发器public SimpleTrigger(String triggerName, String triggerGroupName){}
			在构造Trigger实例时,可以考虑使用org.quartz.TriggerUtils工具类,该工具类不但提供了众多获取特定时间的方法,还拥有众多获取常见Trigger的方法,
			如makeSecondlyTrigger(String trigName)方法将创建一个每秒执行一次的Trigger,而makeWeeklyTrigger(String trigName, int dayOfWeek, int hour, int minute)
			将创建一个每星期某一特定时间点执行一次的Trigger。而getEvenMinuteDate(Date date)方法将返回某一时间点一分钟以后的时间。*/
			SimpleTrigger Trigger = new SimpleTrigger("Trigger", "triggerGroup-tg1");
			//设置作业启动时间,马上启动
			long ctime = System.currentTimeMillis();
			Trigger.setStartTime(new Date(ctime));
			//设置作业执行间隔 
			Trigger.setRepeatInterval(1000);
			//设置作业执行次数
			Trigger.setRepeatCount(10);
			//设置作业执行优先级默认为5
			Trigger.setPriority(10);
			//作业和触发器注册到调度器中,并建立Trigger和JobDetail的关联
			scheduler.scheduleJob(jobDetail, Trigger);
			/*上面的一句话,也可以换成下面的这几句话
			 * JobDetail jobDetail = new JobDetail("job1_1","jGroup1", SimpleJob.class);
			SimpleTrigger Trigger = new SimpleTrigger("trigger1_1","tgroup1");
			Trigger.setJobGroup("jGroup1");:指定关联的Job组名
			Trigger.setJobName("job1_1");指定关联的Job名称
			scheduler.addJob(jobDetail, true);注册JobDetail
			scheduler.scheduleJob(Trigger);注册指定了关联JobDetail的Trigger*/
			//启动调度器
			scheduler.start();
		}
		catch (SchedulerException e)
		{
			e.printStackTrace();
		}
	}

	public void test2()
	{
		try
		{
			//通过SchedulerFactory来获取一个调度器
			SchedulerFactory schedFact = new org.quartz.impl.StdSchedulerFactory();
			
			Scheduler sched = schedFact.getScheduler();
			JobDetail jobDetail = new JobDetail("jobDetail-j2", "jobGroup-g1", BaseJob.class);
			jobDetail.getJobDataMap().put("type", "JobDetail");
			jobDetail.getJobDataMap().put("index", 1002);
			
			/*public CronTrigger(){}
			public CronTrigger(String name, String group){}
			public CronTrigger(String name, String group, String cronExpression){}*/
			CronTrigger trigger = new CronTrigger("cronTrigger", "triggerGroup-tg2");
			/*CronTrigger 能够提供比 SimpleTrigger 更有具体实际意义的调度方案,调度规则基于 Cron 表达式,CronTrigger 
			支持日历相关的重复时间间隔(比如每月第一个周一执行),而不是简单的周期时间间隔。*/
			trigger.getJobDataMap().put("type", "trigger");
			trigger.getJobDataMap().put("index", 2002);
			/* 每半分钟执行一次  */
			trigger.setCronExpression("30 * * * * ?");
			sched.scheduleJob(jobDetail, trigger);
			sched.start();
		}
		catch (Exception e)
		{
			e.printStackTrace();
		}
	}

	/*在实际任务调度中,我们不可能一成不变地按照某个周期性的调度规则运行任务,必须考虑到实现生活中日历上特定日期,就象习惯了大男人作风的人在2月14号也会有不同表现一样。*/
	public void test3() throws SchedulerException
	{
		SchedulerFactory sf = new StdSchedulerFactory();
		Scheduler scheduler = sf.getScheduler();
		/*法定节日是以每年为周期的,所以使用AnnualCalendar*/
		AnnualCalendar holidays = new AnnualCalendar();
		/*五一劳动节*/
		GregorianCalendar laborDay = new GregorianCalendar();
		laborDay.add(GregorianCalendar.MONTH,5);
		laborDay.add(GregorianCalendar.DATE,1);
		holidays.setDayExcluded(laborDay, true); //排除的日期,如果设置为false则为包含
		/*国庆节*/
		GregorianCalendar nationalDay = new GregorianCalendar();
		nationalDay.add(GregorianCalendar.MONTH,10);
		nationalDay.add(GregorianCalendar.DATE,1);
		holidays.setDayExcluded(nationalDay, true);//排除该日期
		/*Scheduler#addCalendar(String calName, Calendar calendar, boolean replace, boolean updateTriggers)
		 进行注册,如果updateTriggers为true,Scheduler中已引用Calendar的Trigger将得到更新*/
		scheduler.addCalendar("holidays", holidays, false, false);//向Scheduler注册日历
		Date runDate = TriggerUtils.getDateOf(0,0, 10, 1, 7);//7月1号 上午10点
		JobDetail job = new JobDetail("job1", "group1", BaseJob.class);
		SimpleTrigger trigger = new SimpleTrigger("trigger1", "group1",runDate,null,SimpleTrigger.REPEAT_INDEFINITELY,60L * 60L * 1000L);
		trigger.setCalendarName("holidays");//让Trigger应用指定的日历规则
		scheduler.scheduleJob(job, trigger);
		scheduler.start();

	}

}


本文来自电脑杂谈,转载请注明本文网址:
http://www.pc-fly.com/a/jisuanjixue/article-44264-5.html

相关阅读
    发表评论  请自觉遵守互联网相关的政策法规,严禁发布、暴力、反动的言论

    • 吴翠亭
      吴翠亭

      全世界国家的主政府是美国说了算

    每日福利
    热点图片
    拼命载入中...