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

odbc连接scan ip_weblogic连接scan ip_weblogic数据源连接池(9)

电脑杂谈  发布时间:2017-01-31 20:11:17  来源:网络整理

使用 org.quartz.NthIncludedDayTrigger

org.quartz.NthIncludedDayTrigger是设计用于在每一间隔类型的第几天执行 Job。

例如,你要在每个月的 12 号执行发工资提醒的Job。接下来的代码片断描绘了如何创建一个 NthIncludedDayTrigger.

	//创建每个月的12号的NthIncludedDayTrigger
	NthIncludedDayTrigger trigger = new NthIncludedDayTrigger("MyTrigger", Scheduler.DEFAULT_GROUP);
	trigger.setN(12);
	trigger.setIntervalType(NthIncludedDayTrigger.INTERVAL_TYPE_MONTHLY);

jobDetail + trigger组成最基本的定时任务:

特别注意:一个job可以对应多个Trgger , 一个Trigger只能对应一个job .

如:CRM中N天未拜访的job对应所有的N天未拜访商家(一个商家一个trigger) 大约1:1000的比例

job和trigger都是通过name 和 group 属性确定唯一性的.

Quartz Calendar

Quartz 的 Calendar 对象与 Java API 的 java.util.Calendar不同。

Java 的 Calender 对象是通用的日期和时间工具;

Quartz 的 Calender 专门用于屏闭一个时间区间,使 Trigger 在这个区间中不被触发。

例如,让我们假如取消节假日执行job。

Quartz包括许多的 Calender 实现足以满足大部分的需求.

org.quartz.impl.calendar.BaseCalender 为高级的 Calender 实现了基本的功能,实现了 org.quartz.Calender 接口

org.quartz.impl.calendar.WeeklyCalendar 排除星期中的一天或多天,例如,可用于排除周末

org.quartz.impl.calendar.MonthlyCalendar 排除月份中的数天,例如,可用于排除每月的最后一天

org.quartz.impl.calendar.AnnualCalendar 排除年中一天或多天

org.quartz.impl.calendar.HolidayCalendar 特别的用于从 Trigger 中排除节假日

使用Calendar,只需实例化后并加入你要排除的日期,然后用 Scheduler 注册,最后必须让Calender依附于Trigger实例。

排除国庆节实例

private void scheduleJob(Scheduler scheduler, Class jobClass) {
	try {
		// Create an instance of the Quartz AnnualCalendar
		AnnualCalendar cal = new AnnualCalendar();
		// exclude 国庆节
		Calendar gCal = GregorianCalendar.getInstance();
		gCal.set(Calendar.MONTH, Calendar.OCTOBER);
		List<Calendar> mayHolidays = new ArraysList<Calendar>();
		for(int i=1; i<=7; i++){
			gCal.set(Calendar.DATE, i);
			mayHolidays.add(gCal);
 		}
		cal.setDaysExcluded(mayHolidays);
		// Add to scheduler, replace existing, update triggers
 		scheduler.addCalendar("crmHolidays", cal, true, true);
		/*
 		* Set up a trigger to start firing now, repeat forever
 		* and have (60000 ms) between each firing.
 		*/
 		Trigger trigger = TriggerUtils.makeImmediateTrigger("myTrigger",-1,60000);
		// Trigger will use Calendar to exclude firing times
 		trigger.setCalendarName("crmHolidays");
		JobDetail jobDetail = new JobDetail(jobClass.getName(), Scheduler.DEFAULT_GROUP, jobClass);
		// Associate the trigger with the job in the scheduler
 		scheduler.scheduleJob(jobDetail, trigger);
	} catch (SchedulerException ex) {
 		logger.error(ex);
 	}
}


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

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

    • 三代吉
      三代吉

      让美彻底放弃冷战思维除非衰退加速

    • 邹盼
      邹盼

      在中国同志有更传统的意思哦

    热点图片
    拼命载入中...