定时任务配置文件的书写规则:
分步解析:
位置 ,一般在spring-quartz.xml中配置定时器r
<bean id="" class="">
指明定时器所在的位置,(一般为controller的位置 ,controller中一般会只放一个定时任务),官方术语:定时加载的目标类
例如
<bean id="hello"① class="com.cn.controller.HelloController"></bean>
配置定时器
<bean id="htlloTimer"② class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="hello"①></property>
<property name="targetMethod" value="Query"></property>
</bean>
bean 中id根据业务类型类取名,class为固定值 name 值固定
<property name="targetObject" ref="hello"></property> 指定任务类 引用 定时加载的目标类
roperty name="targetMethod" value="Query"></property> 指定任务方法
配置定时器的时间间隔
<bean id="helloTimerTrigger"③ class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="helloTimer"②></property>
<property name="cronExpression" value="0 0/30 * * * ?"></property>
</bean>
bean中的id根据业务来取名 class值一般为固定 name值固定
<property name="jobDetail" ref="helloTimer"></property> 指定定时器
<property name="cronExpression" value="0 0/30 * * * ?"></property> 指定 定时间时间间隔 此为30分钟一次
到这里定时器 配置基本完成,接下来是定时器执行 (启动定时器)
<bean id="startJob" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="helloTimerTrigger"③/>
</list>
</property>
</bean>
bean中 id值 根据业务来取,class值为固定 name值固定
properties name 随便
list 意为 以下是定时器执行块(集合)
ref bean="" bean中为定时器配置时间间隔的bean的id helloTimerTrigger
定时任务配置文件 ,一般都是单独一个配置文件存放,便于区分
定时器时间:
"0 0 12 * * ?" 每天中午12点触发
"0 15 10 ? * *" 每天上午10:15触发
"0 15 10 * * ?" 每天上午10:15触发
"0 15 10 15 * ?" 每月15日上午10:15触发
"0 15 10 L * ?" 每月最后一日的上午10:15触发
每天早上6点
0 6 * * *
时间格式 可以网上去找 ,可以找到,这里不做列举