Spring 定时调度
来源:互联网 发布:unity3d 光线追踪 编辑:程序博客网 时间:2024/05/16 13:48
<!-- 由JobDetailBean 负责-->
<bean id="hetongTask"
class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>cc.dfsoft.ranqi.service.bean.dme.gqht.HetongTask</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="gongqihetongBean">
<ref bean="gongqihetongBean" />
</entry>
</map>
</property>
</bean>
<bean id="rukudanTask"
class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>cc.dfsoft.edm.service.bean.purchase.RukudanTask</value>
</property>
<property name="jobDataAsMap">
<map>
<entry key="tankCarPurchaseRuKuBean">
<ref bean="tankCarPurchaseRuKuBean" />
</entry>
</map>
</property>
</bean>
<!-- 关键在如下两个触发器的配置 --> <!-- 类似于Java的简单触发器 -->
<!-- 定义触发的时间 -->
<!-- 定义触发的时间 -->
<bean id="cronReportTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="hetongTask" />
</property>
<property name="cronExpression">
<value>0 7 15 *,* * ?</value>
</property>
</bean>
<!-- 复杂触发器 -->
<bean id="cronReportRukudanTrigger"
class="org.springframework.scheduling.quartz.SimpleTriggerBean">
<property name="jobDetail">
<ref bean="rukudanTask" />
</property>
<property name="repeatInterval" value="20000" />
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronReportTrigger" />
<ref bean="cronReportRukudanTrigger" />
</list>
</property>
</bean>
public class RukudanTask extends QuartzJobBean{
private TankCarPurchaseRuKuBean tankCarPurchaseRuKuBean;
public void setTankCarPurchaseRuKuBean(
TankCarPurchaseRuKuBean tankCarPurchaseRuKuBean) {
this.tankCarPurchaseRuKuBean = tankCarPurchaseRuKuBean;
}
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
try {
//自动检测合同有效期,如果当前日期 == 合同的终止日期,则将该合同在当天设置为过期状态
tankCarPurchaseRuKuBean.autoCancelRukudan();
} catch (Exception e) {
e.printStackTrace();
}
}
}
对于复杂触发器的cronExpression,可借鉴linux的cron。 关于cronExpression的介绍: 表达式 字段 允许值 允许的特殊字符 秒
0-59
, - * /
分
0-59
, - * /
小时
0-23
, - * /
日期
1-31
, - * ? / L W C
月份
1-12 或者 JAN-DEC
, - * /
星期
1-7 或者 SUN-SAT
, - * ? / L C #
年(可选)
留空, 1970-2099
, - * /
意义 "0 0 12 * * ?"
每天中午12点触发
"0 15 10 ? * *"
每天上午10:15触发
"0 15 10 * * ?"
每天上午10:15触发
"0 15 10 * * ? *"
每天上午10:15触发
"0 15 10 * * ? 2005"
2005年的每天上午10:15
触发 "0 * 14 * * ?"
在每天下午2点到下午2:59期间的每1分钟触发
"0 0/5 14 * * ?"
在每天下午2点到下午2:55期间的每5分钟触发
"0 0/5 14,18 * * ?"
在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
"0 0-5 14 * * ?"
在每天下午2点到下午2:05期间的每1分钟触发
"0 10,44 14 ? 3 WED"
每年三月的星期三的下午2:10和2:44触发
"0 15 10 ? * MON-FRI"
周一至周五的上午10:15触发
"0 15 10 15 * ?"
每月15日上午10:15触发
"0 15 10 L * ?"
每月最后一日的上午10:15触发
"0 15 10 ? * 6L"
每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6L 2002-2005"
2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3"
每月的第三个星期五上午10:15触发
每天早上6点
0 6 * * *
每两个小时
0 */2 * * *
晚上11点到早上8点之间每两个小时,早上八点
0 23-7/2,8 * * *
每个月的4号和每个礼拜的礼拜一到礼拜三的早上11点
0 11 4 * 1-3
1月1日早上4点
0 4 1 1 *
- Spring 定时调度
- spring的定时调度
- Spring Quartz定时调度
- Spring 定时调度
- Spring 定时调度任务
- Spring定时调度
- 基于Spring实现定时调度
- 基于Spring实现定时调度
- spring 定时服务调度quartz
- 基于Spring实现定时调度
- Spring+Quartz定时任务调度
- spring配置定时调度任务
- spring 定时调度表达式 配置
- spring timetask 定时任务调度
- Spring定时调度器应用
- 用spring实现定时调度
- Spring-Task 定时任务调度
- Spring+Quartz 实现定时调度
- 修改Token权限
- Winsock API 编程介绍
- JS正则表达式详解
- 告别游戏外包
- 可供快速查:并查集
- Spring 定时调度
- 笔记本电源模式
- google code jam 2008 Mousetrap (逆向)
- 转:SAP INTERFACE
- 树状数组
- JAVA连接数据库代码实例
- Sqlite判断字段存在
- 线段树
- MultiByteToWideChar和WideCharToMultiByte用法详解