quartz的使用

来源:互联网 发布:万科金域名邸二手房 编辑:程序博客网 时间:2024/06/05 02:15

找到包

public static void Test2(){
        
        Scheduler scheduler = null;
        SchedulerFactory schedulerFactory = new StdSchedulerFactory();
        try {
            scheduler = schedulerFactory.getScheduler();
        } catch (SchedulerException e2) {
            // TODO Auto-generated catch block
            e2.printStackTrace();
        }
        try {
            scheduler.start();
        } catch (SchedulerException e1) {
            // TODO Auto-generated catch block
            e1.printStackTrace();
        }
        
        // 创建Job
        JobDetail jobDetail = JobBuilder.newJob(SleepQuartZJob2.class)
                .withIdentity("Test2 Job", "data process")
                .setJobData(createJobData())
                .build();  
        
        // 创建Trigger
        SimpleTrigger trigger = TriggerBuilder.newTrigger()
                .withIdentity("Test2 Job", "data process")
                .startNow()
                .withSchedule(SimpleScheduleBuilder
                        .simpleSchedule()
                    //    .withIntervalInMinutes(2) //2分钟
                        .withIntervalInSeconds(5)
                        .repeatForever())
                .build();
        
        try {
            scheduler.scheduleJob(jobDetail, trigger);
        } catch (SchedulerException e) {
            // TODO Auto-generated catch block
            e.printStackTrace();
        }
        
    }



org.quartz.scheduler.instanceName = test
org.quartz.threadPool.threadCount = 1
org.quartz.jobStore.class = org.quartz.simpl.RAMJobStore
# disable auto-upating quartz
org.quartz.scheduler.skipUpdateCheck: true

 

org.quartz.threadPool.threadCount  是调度任务的线程个数,若不足的话无法并行化执行。


注意:

  1.  同一种任务有时需要串行执行的话

           设置为 StatefulJob  就可以实现,串行执行。 此接口是deprecation的,不知道如何实现下一步情况。

 2   解决log4j:WARN Please initialize the log4j system properly 问题解决

log4j.properties文件需要放到web-inf/class目录下面,在eclipse里面放到src目录下面,会自动拷贝到class目录下面去。

0 0
原创粉丝点击