知识大全 Spring中Quartz的配置
Posted 知
篇首语:学向勤中得,萤窗万卷书。本文由小常识网(cha138.com)小编为大家整理,主要介绍了知识大全 Spring中Quartz的配置相关的知识,希望对你有一定的参考价值。
Spring中Quartz的配置 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Quartz是一个强大的企业级任务调度框架 Spring中继承并简化了Quartz 下面就看看在Spring中怎样配置Quartz:
首先我们来写一个被调度的类:
package kay quartz;
public class QuartzJob
public void work()
System out println( Quartz的任务调度!!! );
Spring的配置文件:
<?xml version= encoding= UTF ?>
<!DOCTYPE beans PUBLIC //SPRING//DTD BEAN//EN /dtd/spring beans dtd >
<beans>
<! 要调用的工作类 >
<bean id= quartzJob class= kay quartz QuartzJob ></bean>
<! 定义调用对象和调用对象的方法 >
<bean id= jobtask class= springframework scheduling quartz MethodInvokingJobDetailFactoryBean >
<! 调用的类 >
<property name= targetObject >
<ref bean= quartzJob />
</property>
<! 调用类中的方法 >
<property name= targetMethod >
<value>work</value>
</property>
</bean>
<! 定义触发时间 >
<bean id= doTime class= springframework scheduling quartz CronTriggerBean >
<property name= jobDetail >
<ref bean= jobtask />
</property>
<! cron表达式 >
<property name= cronExpression >
<value> * * * * ?</value>
</property>
</bean>
<! 总管理类 如果将lazy init= false 那么容器启动就会执行调度程序 >
<bean id= startQuertz lazy init= false autowire= no class= springframework scheduling quartz SchedulerFactoryBean >
<property name= triggers >
<list>
<ref bean= doTime />
</list>
</property>
</bean>
</beans>测试程序:
package kay quartz;
import ntext ApplicationContext;
import ntext support ClassPathXmlApplicationContext;
public class MainTest
/**
* @param args
*/
public static void main(String[] args)
System out println( Test start );
ApplicationContext context = new ClassPathXmlApplicationContext( quartz config xml );
//如果配置文件中将startQuertz bean的lazy init设置为false 则不用实例化
//context getBean( startQuertz );
System out print( Test end );
我们需要把log j的配置文件放入src目录下 启动main类就可以了
关于cron表达式(来自网络):
Cron 表达式包括以下 个字段:
秒
分
小时
月内日期
月
周内日期
年(可选字段)
特殊字符
Cron 触发器利用一系列特殊字符 如下所示:
反斜线(/)字符表示增量值 例如 在秒字段中 / 代表从第 秒开始 每 秒一次
问号(?)字符和字母 L 字符只有在月内日期和周内日期字段中可用 问号表示这个字段不包含具体值 所以 如果指定月内日期 可以在周内日期字段中插入 ? 表示周内日期值无关紧要 字母 L 字符是 last 的缩写 放在月内日期字段中 表示安排在当月最后一天执行 在周内日期字段中 如果 L 单独存在 就等于 否则代表当月内周内日期的最后一个实例 所以 L 表示安排在当月的最后一个星期日执行
在月内日期字段中的字母(W)字符把执行安排在最靠近指定值的工作日 把 W 放在月内日期字段中 表示把执行安排在当月的第一个工作日内
井号(#)字符为给定月份指定具体的工作日实例 把 MON# 放在周内日期字段中 表示把任务安排在当月的第二个星期一
星号(*)字符是通配字符 表示该字段可以接受任何可能的值
字段 允许值 允许的特殊字符
秒 * /
分 * /
小时 * /
日期 * ? / L W C
月份 或者 JAN DEC * /
星期 或者 SUN SAT * ? / L C #
年(可选) 留空 * /
表达式意义
* * ? 每天中午 点触发
? * * 每天上午 : 触发
* * ? 每天上午 : 触发
* * ? * 每天上午 : 触发
* * ? 年的每天上午 : 触发
* * * ? 在每天下午 点到下午 : 期间的每 分钟触发
/ * * ? 在每天下午 点到下午 : 期间的每 分钟触发
/ * * ? 在每天下午 点到 : 期间和下午 点到 : 期间的每 分钟触发
* * ? 在每天下午 点到下午 : 期间的每 分钟触发
? WED 每年三月的星期三的下午 : 和 : 触发
? * MON FRI 周一至周五的上午 : 触发
* ? 每月 日上午 : 触发
L * ? 每月最后一日的上午 : 触发
? * L 每月的最后一个星期五上午 : 触发
? * L 年至 年的每月的最后一个星期五上午 : 触发
? * # 每月的第三个星期五上午 : 触发
每天早上 点
* * *
每两个小时
*/ * * *
晚上 点到早上 点之间每两个小时 早上八点
/ * * *
每个月的 号和每个礼拜的礼拜一到礼拜三的早上 点
*
月 日早上 点
cha138/Article/program/Java/ky/201311/28782相关参考
浅谈spring时序调度Quartz 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 近期接到一个
Spring整合Quartz定时发送邮件 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 功能描述
知识大全 Timer,Quartz和Spring实现作业调度
Timer,Quartz和Spring实现作业调度 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java调度任务和SpringQuartz 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 并非所
在默认通过myeclipse生成的配置里spring使用的是apache的dbcp连接池 <beanid=dataSource class=monsdbcpBasicDataSource
Spring2.5中配置JPA 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文提供了一个简单
在Spring中配置Hibernate的事务 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 本文
在Spring中配置Hibernate事务(图) 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧!
Java中如何获取Spring中配置的bean 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 一
Spring中bean的基本xml配置 以下文字资料是由(全榜网网www.cha138.com)小编为大家搜集整理后发布的内容,让我们赶快一起来看一下吧! 在spri