無spring project演示
//創建Job實例,並把該實例關聯MyBean.class
JobDetail jobDetail = JobBuilder.newJob(MyBean.class).build();
//創建Trigger實例,指定開始時間和結束時間以及執行頻率
Trigger trigger = TriggerBuilder.newTrigger().startNow().withSchedule(SimpleScheduleBuilder.simpleSchedule().withIntervalInSeconds(2).withRepeatCount(10)).build();
//創建Schedule
Scheduler scheduler = StdSchedulerFactory.getDefaultScheduler();
scheduler.start();
scheduler.scheduleJob(jobDetail, trigger);
有spring project演示
第一種 使用MethodInvokingJobDetailFactoryBean生產JobDetail,使用CronTriggerFactoryBean生產Trigger
<!-- Jobbean -->
<bean id="simpleJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="myBean"/>
<property name="targetMethod" value="printMessage"/>
</bean>
<!-- Trigger -->
<bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="simpleJobDetail"/>
<property name="cronExpression" value="0/5 * * ? * *"/>
</bean>
<!-- Scheduler -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails" ref="simpleJobDetail"/>
<property name="triggers" ref="myTrigger" />
</bean>
第二種 使用JobDetailFactoryBean生產JobDetail,使用SimpleTriggerFactoryBean生產Trigger
<!-- Jobbean -->
<bean id="myJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<property name="jobClass" value="com.humman.springQuartz.quartz.SuperBean"/>
<property name="jobDataMap">
<map>
<entry key="myBean" value-ref="myBean" />
</map>
</property>
<property name="durability" value="true"/>
</bean>
<!-- Trigger -->
<bean id="myTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
<property name="jobDetail" ref="myJobDetail"/>
<property name="startDelay" value="1000"/>
<property name="repeatInterval" value="2000"/>
</bean>
<!-- Scheduler -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails" ref="myJobDetail"/>
<property name="triggers" ref="myTrigger" />
</bean>
另外需要學習:quartz.properties 配置