首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring-Quartz小结

2012-10-29 
Spring----Quartz总结?Quartz的关键元素结构图:?二种Triger:1.Simple triggers?2.Cron triggers?3.code//

Spring----Quartz总结



?

Quartz的关键元素结构图:

Spring-Quartz小结

?

二种Triger:

1.Simple triggers

?

2.Cron triggers

?

3.code

// Initiate a Schedule Factory        SchedulerFactory schedulerFactory = new  StdSchedulerFactory();        // Retrieve a scheduler from schedule factory        Scheduler scheduler = schedulerFactory.getScheduler();                // current time        long ctime = System.currentTimeMillis();                 // Initiate JobDetail with job name, job group, and executable  job class        JobDetail jobDetail =           new JobDetail("jobDetail-s1", "jobDetailGroup-s1",  SimpleQuartzJob.class);        // Initiate SimpleTrigger with its name and group name        SimpleTrigger simpleTrigger =           new SimpleTrigger("simpleTrigger", "triggerGroup-s1");        // set its start up time        simpleTrigger.setStartTime(new Date(ctime));        // set the interval, how often the job should run (10 seconds  here)         simpleTrigger.setRepeatInterval(10000);        // set the number of execution of this job, set to 10 times.         // It will run 10 time and exhaust.        simpleTrigger.setRepeatCount(100);        // set the ending time of this job.         // We set it for 60 seconds from its startup time here        // Even if we set its repeat count to 10,         // this will stop its process after 6 repeats as it gets it endtime  by then.        //simpleTrigger.setEndTime(new Date(ctime + 60000L));        // set priority of trigger. If not set, the default is 5        //simpleTrigger.setPriority(10);        // schedule a job with JobDetail and Trigger        scheduler.scheduleJob(jobDetail, simpleTrigger);                // start the scheduler        scheduler.start();

?

三、Spring中的配置参见结构和调用方式

<description>Quartz的本地Cron式执行任务配置</description><!-- Quartz本地Schduler --><bean id="localQuartzScheduler" lazy-init="false"><!-- Triggers集成 --><property name="triggers"><list><ref bean="reportSenderTrigger" /></list></property><!-- Quartz配置 --><property name="quartzProperties"><props><prop key="org.quartz.threadPool.threadCount">5</prop></props></property><!-- 启动时延期3秒开始任务 --><property name="startupDelay" value="15" /></bean><!-- Cron式Trigger定义 --><bean id="reportSenderTrigger" ref="reportSenderDetail" /><!-- 每天,朝九晚五工作时间内每50mins执行一次 --><property name="cronExpression" value="0 0/50 9-17 ? * *I" /></bean><!-- Cron reportSenderDetail, 基于MethodInvokingJobDetailFactoryBean调用普通Spring Bean --><bean id="reportSenderDetail" ref="reportSender" /><property name="targetMethod" value="execute" /><!-- 同一任务在前一次执行未完成而Trigger时间又到时是否并发开始新的执行, 默认为true. --><property name="concurrent" value="true" /></bean><!-- 被Cron执行的普通Spring Bean --><bean id="reportSender" />
?

热点排行