maven的pom.xml
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>4.2.4.RELEASE</version>
</dependency>
spring的applicationContext.xml的配置信息:
<!-- 定义一个任务类 -->
<bean id="myJob" class="com.zntz.web.job.myjob"></bean>
<!-- jobDetail -->
<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="myJob"></property>
<property name="targetMethod" value="execute"></property>
<property name="concurrent" value="false" /><!-- 作业不并发调度 -->
</bean>
<!-- 定义trigger 触发器 -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="jobDetail"></property>
<property name="cronExpression" value="0/10 * * * * ?"></property>
</bean>
<bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronTrigger"/>
</list>
</property>
</bean>
一个普通的类,没有继承任何类和实现任何接口
public class myjob {
public void execute(){
System.out.println("Quartz的任务调度!!!"+(new Date()).toString());
}
}
因为配置了concurrent等于false,所以假如run方法的执行时间超过10秒,在执行完之前即使时间已经超过了10秒下一个定时计划执行任务仍不会被开启,如果是true,则不管是否执行完,时间到了都将开启。