一个cron表达式有至少6个(也可能是7个)由空格分隔的时间元素。从左至右,这些元素的定义 如下:
1.秒(0–59)
2.分钟(0–59)
3.小时(0–23)
4.月份中的日期(1–31)
5.月份(1–12或JAN–DEC)
6.星期中的日期(1–7或SUN–SAT)
7.年份(1970–2099)
表达式意义:
1."0 0 12 * * ?" 每天中午12点触发
2."0 15 10 ? * *" 每天上午10:15触发
3."0 15 10 * * ?" 每天上午10:15触发
4."0 15 10 * * ? *" 每天上午10:15触发
5."0 15 10 * * ? 2005" 2005年的每天上午10:15触发
6."0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
7."0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
8."0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
9."0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
10."0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发
11."0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
12."0 15 10 15 * ?" 每月15日上午10:15触发
13."0 15 10 L * ?" 每月最后一日的上午10:15触发
14."0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发
15."0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发
16."0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发
具体实现步骤:
Xml代码 收藏代码
1、定义任务
<bean id="aaaScheduler"(统计任务名) class="cn.com.**.**"(对应的实现类) />
2、任务描述
<bean id="aaaJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="aaaScheduler"(任务bean) />
</property>
<property name="targetMethod">
<value>method(具体实现的方法名)</value>
</property>
</bean>
3、任务触发器
<bean id="aaaTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="aaaJobDetail"(任务描述bean) />
</property>
<property name="cronExpression">
触发时间(例如:<!-- 每天凌晨2点整触发 -->)
<value>0 0 2 * * ?</value>
</property>
</bean>
4、任务触发
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="aaaTrigger"(任务触发器bean) />
</list>
</property>
</bean>
1.秒(0–59)
2.分钟(0–59)
3.小时(0–23)
4.月份中的日期(1–31)
5.月份(1–12或JAN–DEC)
6.星期中的日期(1–7或SUN–SAT)
7.年份(1970–2099)
表达式意义:
1."0 0 12 * * ?" 每天中午12点触发
2."0 15 10 ? * *" 每天上午10:15触发
3."0 15 10 * * ?" 每天上午10:15触发
4."0 15 10 * * ? *" 每天上午10:15触发
5."0 15 10 * * ? 2005" 2005年的每天上午10:15触发
6."0 * 14 * * ?" 在每天下午2点到下午2:59期间的每1分钟触发
7."0 0/5 14 * * ?" 在每天下午2点到下午2:55期间的每5分钟触发
8."0 0/5 14,18 * * ?" 在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
9."0 0-5 14 * * ?" 在每天下午2点到下午2:05期间的每1分钟触发
10."0 10,44 14 ? 3 WED" 每年三月的星期三的下午2:10和2:44触发
11."0 15 10 ? * MON-FRI" 周一至周五的上午10:15触发
12."0 15 10 15 * ?" 每月15日上午10:15触发
13."0 15 10 L * ?" 每月最后一日的上午10:15触发
14."0 15 10 ? * 6L" 每月的最后一个星期五上午10:15触发
15."0 15 10 ? * 6L 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发
16."0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发
具体实现步骤:
Xml代码 收藏代码
1、定义任务
<bean id="aaaScheduler"(统计任务名) class="cn.com.**.**"(对应的实现类) />
2、任务描述
<bean id="aaaJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="aaaScheduler"(任务bean) />
</property>
<property name="targetMethod">
<value>method(具体实现的方法名)</value>
</property>
</bean>
3、任务触发器
<bean id="aaaTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="aaaJobDetail"(任务描述bean) />
</property>
<property name="cronExpression">
触发时间(例如:<!-- 每天凌晨2点整触发 -->)
<value>0 0 2 * * ?</value>
</property>
</bean>
4、任务触发
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="aaaTrigger"(任务触发器bean) />
</list>
</property>
</bean>