xml配置实现:
1.选择所需要的jar
<properties>
<!-- spring版本号 -->
<spring.version>4.2.2.RELEASE</spring.version> <!-- Quartz的版本 -->
</properties>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-oxm</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-jdbc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-webmvc</artifactId>
<version>${spring.version}</version>
</dependency>
<dependency>
<groupId>org.springframework</groupId>
<artifactId>spring-context-support</artifactId>
<version>${spring.version}</version>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.2</version>
</dependency>
</dependency>
2.创建一个类 然后写一个测试方法
public class VehicleViolationService{
public void job2() throws Exception {
System.out.println("111==========================");
}
3.配置xml 配置文件
<bean id="vehicleViolationService" class="com.cvnavi.util.quartz.vehicleViolation.VehicleViolationService">
<!-- <property name="videoService" ref="videoService"></property> -->
</bean>
<!-- //定义触发任务 -->
<bean id="videoUrlJob" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="vehicleViolationService"/>
</property>
<property name="targetMethod" value="job2"/> <!-- 要执行的方法名称 -->
</bean>
<!-- // 定义调度触发器 -->
<bean id="videoUrlTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail" ref="videoUrlJob"></property>
<property name="cronExpression">
<value>0/5 * * * * ?</value><!-- //这里做测试我们设置为每5分钟进行请求网易云 -->
</property>
</bean>
<!-- // 定义调度工厂类 -->
<bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false" autowire="no">
<property name="triggers">
<list>
<!--在这里可以定义多个触发器-->
<ref bean="videoUrlTrigger"/>
</list>
</property>
</bean>
4.在web.xml 中扫描该文件也可以直接引入到sprng.xml 文件中
<context-param>
<param-name>contextConfigLocation</param-name>
classpath*:conf/sq-application-scheduler.xml
</param-value>
</context-param>
5.效果图
注解配置:
请参考:http://blog.csdn.net/tanyongbing1988/article/details/45689987
个人认为注解的方式应该不会再企业中应用。因为注解的时间是在每个方法的上面加一个
@Scheduled(cron = "0/1 * * * * ? ")
这样不方便更改! 扩展性不是非常好。所以不建议用这种。
差点忘了重要的东西
注意事项:quartz 1.8以上的版本
引用的是这个类:
org.springframework.scheduling.quartz.CronTriggerFactoryBean
quartz 1.8以下的版本
引入的是:
所以新手在配置xml 的时候会发现 为什么配置了还报错找不到这个类?加载了这个包 为什么还找不到?
要注意版本的区别哦?不然会掉坑里面的!!