第一、配置方式
1. 配置文件配置 applicationContext-quartz.xml
2. 注解配置 @Scheduled(cron = “*/10 * * * * ?”)
第二、实列类及操作
注解式:@Scheduled(cron = “*/10 * * * * ?”)
- 在启动配置文件中加
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/task
http://www.springframework.org/schema/task/spring-task-3.1.xsd"
xmlns:task="http://www.springframework.org/schema/task">
<!-- 定时任务调度 -->
<task:annotation-driven/>
2. 实列操作
配置式:applicationContext-quartz.xml
1:首先下载quartz-1.8.6.jar架包,到lib目录下
地址:https://mvnrepository.com/artifact/org.quartz-scheduler/quartz/1.8.6
2:写好applicationContext-quartz.xml配置类
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd">
<!-- 要调用的工作类 -->
<bean id="task" class="org.scbit.wuzi.merck.service.DockingProductService">
</bean>
<!-- 定义调用对象和调用对象的方法 -->
<bean id="task1" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<!-- 调用的类 -->
<property name="targetObject">
<ref bean="task" />
</property>
<!-- 调用类中的方法 -->
<property name="targetMethod">
<value>timingProductRegularTime</value>
</property>
</bean>
<!-- 定义触发时间 -->
<bean id="doTime1" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="task1" />
</property>
<!-- cron表达式 -->
<!-- 秒 分 小时 -->
<property name="cron">
<value>*/10 * * * * ?</value>
</property>
</bean>
<!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 -->
<bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="doTime1"/>
</list>
</property>
</bean>
</beans>