问题1 我想排除一年中的某一天,怎么办呢!
Quartz:使用AnnualCalendar进行相应的设置
参考资料
1 Quartz入门简介三
http://wwwzchen.iteye.com/blog/846099
2 quartz 学习笔记
http://chinaxxren.iteye.com/blog/897989
Quartz的BaseCalendar层次结构如下:
在本例中主要用到了AnnualCalendar,它的作用是排除排除每一年中指定的一天或多天.
AnnualCalendar类说明如下:
其它相应的有:CronCalendar(表达式),DailyCalendar(指定的时间范围内的每一天),HolidayCalendar(排除节假日),MonthlyCalendar(排除月份中的数天),WeeklyCalendar(排除星期中的一天或多天)
具体代码如下:
Quartz:使用AnnualCalendar进行相应的设置
参考资料
1 Quartz入门简介三
http://wwwzchen.iteye.com/blog/846099
2 quartz 学习笔记
http://chinaxxren.iteye.com/blog/897989
Quartz的BaseCalendar层次结构如下:
在本例中主要用到了AnnualCalendar,它的作用是排除排除每一年中指定的一天或多天.
AnnualCalendar类说明如下:
- This implementation of the Calendar excludes a set of days of the year. You may use it to exclude bank holidays which are on the same date every year.
其它相应的有:CronCalendar(表达式),DailyCalendar(指定的时间范围内的每一天),HolidayCalendar(排除节假日),MonthlyCalendar(排除月份中的数天),WeeklyCalendar(排除星期中的一天或多天)
具体代码如下:
- //法定节日是以每年为周期的,所以使用AnnualCalendar
- AnnualCalendar holidays = new AnnualCalendar();
- // ②五一劳动节
- Calendar laborDay = new GregorianCalendar();
- laborDay.add(Calendar.MONTH, 5);
- laborDay.add(Calendar.DATE, 1);
- // ②-1:排除的日期,如果设置为false则为包含
- holidays.setDayExcluded(laborDay, true);
- // ③国庆节
- Calendar nationalDay = new GregorianCalendar();
- nationalDay.add(Calendar.MONTH, 10);
- nationalDay.add(Calendar.DATE, 1);
- // ③-1:排除该日期
- holidays.setDayExcluded(nationalDay, true);
- //添加到时间集合到任务调度器中
- sched.addCalendar("holidays", holidays, false,false);
- //当前时间15秒后运行
- Date startTime = nextGivenSecondDate(null, 15);
- //绑定任务
- JobDetail job = newJob(SimpleJob.class)
- .withIdentity("job1", "group1")
- .build();
- //触发器
- SimpleTrigger trigger = newTrigger()
- .withIdentity("trigger1", "group1")
- .startAt(startTime)
- .withSchedule(simpleSchedule()
- .withIntervalInHours(1)//重复间隔:小时为单位
- .repeatForever())
- .modifiedByCalendar("holidays")
- .build();
- //运行时间
- Date firstRunTime = sched.scheduleJob(job, trigger);
- log.error(job.getKey() +
- " will run at: " + firstRunTime +
- " and repeat: " + trigger.getRepeatCount() +
- " times, every " + trigger.getRepeatInterval() / 1000 + " seconds");
- //启动调度器
- sched.start();
相关推荐
quartz quartz-1.8.6 dbTables quartz动态任务调度需要的数据库脚本。
赠送jar包:quartz-2.3.2.jar; 赠送原API文档:quartz-2.3.2-javadoc.jar; 赠送源代码:quartz-2.3.2-sources.jar; 赠送Maven依赖信息文件:quartz-2.3.2.pom; 包含翻译后的API文档:quartz-2.3.2-javadoc-API...
文件里面包括 1:Quartz开发指南.pdf 2:Quartz从入门到进阶.pdf 3:QuartzBeginnerExample一个附带的工程例子 4:quartz-1.6.1.zip Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它...
该压缩包内包含两个quartz的jar包, 分别是quartz-1.6.0.jar和quartz-all-1.6.0.jar
赠送jar包:quartz-2.3.0.jar; 赠送原API文档:quartz-2.3.0-javadoc.jar; 赠送源代码:quartz-2.3.0-sources.jar; 赠送Maven依赖信息文件:quartz-2.3.0.pom; 包含翻译后的API文档:quartz-2.3.0-javadoc-API...
quartz-2.2.3版本的quartz初始化sql语句
quartz简单实例quartz简单实例quartz简单实例quartz简单实例
Autofac.Extras.Quartz, Quartz.Net的Autofac集成 Autofac.Extras.Quartz用于 Quartz.Net的Autofac集成包。Autofac.Extras.Quartz 为每个石英作业创建嵌套的litefime作用域。 完成作业执行后释放嵌套作用域。这允许...
网上能找到的Quartz Web管理的资料都是使用的一个国外人写的Quartz WebApp的东东,功能也很全面。但是作为自己的应用其实用不了那么多功能,一般我们只要可以定义一个job,指定一个Cron表达式完成工作即可,附带的...
quartz内部表.sql。
Quartz1.5,Quartz1.6,Quartz1.8。Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与J2SE应用程序相结合也可以单独使用。Quartz可以用来创建简单或为运行十个,百个,甚至是好几万个...
postgres quatrz初始化sql脚本文件、pg、quartz、qrtz_开头的表 配置文件需求修改 #org.quartz.jobStore.driverDelegateClass=org.quartz.impl.jdbcjobstore.StdJDBCDelegate org.quartz.jobStore....
Quartz.NET框架的核心是调度器。调度器负责管理Quartz.NET应用运行时环境。Quartz不仅仅是线程和线程管理。为确保可伸缩性,Quartz.NET采用了基于多线程的架构。启动时,框架初始化一套worker线程,这套线程被调度器...
Quartz原理及实例,spring4.x+Quartz.2.2.1结合的开发,静态和动态实例
lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子lucene quartz 例子
关于spring中quartz的配置
深入解读Quartz的原理,定时任务框架是web开发过程中使用很多的框架之一
Quartz框架的核心是调度器。调度器负责管理Quartz应用运行时环境。调度器不是靠自己做所有的工作,而是依赖框架内一些非常重要的部件。 Quartz不仅仅是线程和线程管理。为确保可伸缩性,Quartz采用了基于多线程的...
详细介绍CronExpression表达式设定定时任务的规则
quartz自动调度的3种调度形式+传参 1.单纯的quartz调度 2.spring+quartz调度