CalendarExample

本文介绍了一个使用Java Quartz调度器实现的任务调度示例,通过设置AnnualCalendar来排除特定日期如劳动节和国庆节,演示了如何配置SimpleTrigger并利用Calendar进行任务调度。
package hvp.spring.quartz.simpleTrigger;

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

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 CalendarExample
{
    
public void test() throws SchedulerException
    
{
        SchedulerFactory sf 
= new StdSchedulerFactory();
        Scheduler scheduler 
= sf.getScheduler();
        
        
// 法定节日以每年为周期
        AnnualCalendar holidays = new AnnualCalendar();
        
        Calendar laborDay 
= new GregorianCalendar();
        laborDay.add(Calendar.MONTH, 
5);
        laborDay.add(Calendar.DATE, 
1);
        
// 排除
        holidays.setDayExcluded(laborDay, true);
        
        Calendar nationalDay 
= new GregorianCalendar();
        nationalDay.add(Calendar.MONTH, 
10);
        nationalDay.add(Calendar.DATE, 
1);
        holidays.setDayExcluded(nationalDay, 
true);
        
        scheduler.addCalendar(
"holidays", holidays, falsefalse);
        
        Date runDate 
= TriggerUtils.getDateOf(001014);
        JobDetail job 
= new JobDetail("job""group1", SimpleJob.class);
        SimpleTrigger trigger 
= new SimpleTrigger("trigger1""group1",
                runDate, 
null, SimpleTrigger.REPEAT_INDEFINITELY,
                
60 * 60 * 1000);
        trigger.setCalendarName(
"holidays");
        scheduler.scheduleJob(job, trigger);
        scheduler.start();
    }

    
    
public static void main(String[] args) throws SchedulerException{
        CalendarExample ce 
= new CalendarExample();
        ce.test();
    }

}
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值