Quartz集成springMVC 的方案一
来源:互联网 发布:远程网络教育要考试吗 编辑:程序博客网 时间:2024/04/30 04:53
Quartz是一个开放源码项目,专注于任务调度器。
springMVC 具体的搭建框架就不具体说明,接下来直接描述把Quartz集成到springMVC 框架中。
步骤:
1.引入所需要的jar包
2.新建要定时做的事情的具体实现类和方法,这边可以实现多个类和方法,只要spring-quartz.xml文件中配置任务几个并对应的实现类和方法。
public class DataButtServiceImpl {public void run() { //定时要做的事情的具体实现 } }
2.新建一个spring-quartz.xml文件放在跟springMVC 的配置文件同级目录就可以了,spring-quartz.xml可以配置多个任务,列如quartzJobA、quartzJobB,并配置对应的方法和时间表达式(什么时间执行)
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans><!-- 要调用的工作类 --><bean id="quartzJobA" class="cn.handle.data.impl.DataButtServiceImpl"/><!-- 定义调用对象和调用对象的方法A --><bean id="jobtaskA" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 调用的类 --> <property name="targetObject"> <ref bean="quartzJobA"/> </property> <!-- 调用类中的方法 --> <property name="targetMethod"> <value>run</value> </property></bean><!-- 要调用的工作类 <bean id="quartzJobB" class="cn.EventProviderServiceImpl"/>--><!-- 定义调用对象和调用对象的方法B <bean id="jobtaskB" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="quartzJobB"/> </property> <property name="targetMethod"> <value>run</value> </property></bean>--><!-- 定义触发时间A --><bean id="doTimeA" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <property name="jobDetail"> <ref bean="jobtaskA"/> </property> <property name="cronExpression"> <value>0 0/1 * * * ?</value> </property></bean><!-- 定义触发时间B <bean id="doTimeB" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="jobtaskB"/> </property> <property name="cronExpression"> <value>0 * * * * ?</value> </property></bean>--><!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 --><bean id="startQuartz" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="doTimeA"/> <!-- <ref bean="doTimeB"/> --> </list> </property></bean></beans>
cronExpression值有几种如下:
"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触发
2.在web.xml中描述启动时要读spring-quartz.xml这个文件并解析
总结:
这样的集成存在几个缺点:
1.我们能不能在页面上进行管理JOB。
2.不能支持持久化任务,集群和分布式任务。
接下去讲另外一个集成,针对上面总结的改进。
- Quartz集成springMVC 的方案一
- Quartz集成springMVC 的方案一
- Quartz集成springMVC 的方案二(持久化任务、集群和分布式)
- Quartz集成springMVC 的方案二(持久化任务、集群和分布式)
- Quartz集成springMVC 的方案二(持久化任务、集群和分布式)
- Quartz集成springMVC 的方案二 ---持久化、分布式集群部署
- Quartz集成springMVC 的方案二(持久化任务、集群和分布式)
- SpringMVC集成quartz
- springmvc集成Quartz
- springmvc集成quartz定时器
- spring2.0 集成 quartz 问题解决方案
- springMVC 4.0 集成 quartz 2.2实例
- springMVC + myatis + quartz分布式集成问题
- 如何在SpringMVC中集成quartz
- Quartz的spring集成
- Quartz总结(一):Quartz集成Spring的2个方法
- Quartz总结(一):Quartz集成Spring的2个方法
- RabbitMQ与SpringMVC集成并实现发送消息和接收消息(持久化)方案一
- Fragment编程
- 李若彤经纪人隐私遭泄露 “小龙女”被骗一百万
- 宏定义中#与##
- 分布式文件系统
- ZMQ和MessagePack的简单使用
- Quartz集成springMVC 的方案一
- UVa 10110 - Light, more light
- LeetCode - Pascal's Triangle
- centos ssh登录后添加提示信息
- C++ 类中特殊的成员变量(常变量、引用、静态)的初始化方法
- J2SE总结
- 昨天淘宝说我中了二等奖 填写完资料之后才发现要交5000块钱
- 把一个表某个字段内容复制到另一张表的某个字段。MYSQL
- Lua基础学习