1:导入quartz包
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>1.8.4</version>
</dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>1.8.4</version>
</dependency>
2:配置文件
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context.xsd"> <context:property-placeholder location="system.properties" /> <!-- Channel info isp --> <bean id="ispInfoGetterTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="ispTask" /><!--要执行的类--> <property name="targetMethod" value="run" /><!--要执行的方法--> <property name="concurrent" value="false" /><!-- 控制在周期内执行不完是否等待,false表示等待 --> </bean> <bean id="ispInfoGetterTaskTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="ispInfoGetterTask" /> <property name="cronExpression" value="${isp.bandwidthInfo.interval}" /> </bean> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="ispInfoGetterTaskTrigger" /> </list> </property> </bean> </beans>
3:启动方法
public class Main {
public static void main(String[] args) {
System.setProperty("org.terracotta.quartz.skipUpdateCheck", "true");// 去掉Quartz的自动更新功能
new ClassPathXmlApplicationContext(new String[] { "conf/beans.xml", "conf/cronTasks.xml" });
}
}