spring下使用Quartz完成定时任务
来源:互联网 发布:排版报纸的软件 编辑:程序博客网 时间:2024/05/22 23:11
springMVC框架下经常会用到定时任务来进行项目初始化或者定时执行一些任务,这是可以使用Quartz来完成,强大而简单,项目中第一次试着使用,目前可以独立使用,但其中的原理还有待于慢慢总结,把使用过程写下来,权当总结了,也为需要使用的同学提供个参考
第一步,需要在pom.xml文件中引入Quartz,格式如下
<dependency><groupId>org.quartz-scheduler</groupId><artifactId>quartz</artifactId><version>2.2.1</version></dependency>
第二步,编写需要定期执行的java代码的类和方法(下面需要将该类的类名和方法名配置到spring-quartztask.xml文件中),具体代码如下:
package com.lgg.web.quartz;import java.util.Date;import org.slf4j.Logger;import org.slf4j.LoggerFactory;@Componentpublic class ModifyUserNameTask {private static final Logger logger = LoggerFactory.getLogger(ModifyNameTask.class);@Autowiredprivate UserService userService;//定时修改用户名 public void taskJob(){logger.info("定时任务开始....");//调用定时修改用户名的service层的方法userService.ModifyName();logger.info("定时结束....");}}第三步,添加spring-quartztask.xml文件,配置quartz属性信息,具体内容如下:
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"><!-- 定时修改用户名 --><!-- 将第二步中的类的全路径写入到class中,id需要自己起个名字,不能重复,下面还用得着--><bean id="modifyUserNameTask" class="com.com.lgg.web.quartz.ModifyUserNameTask"></bean><!-- id需要自己起个名字,class不需要修改 --><bean id="modDeskTopReviewDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"><property name="targetObject" ref="modDeskTopReviewTask"/><!-- ref中的值对应着你第一个bean的id,二者必须一样 --><property name="targetMethod" value="taskJob"/><!-- value中的值对应着你第二步中java类中的那个方法名 --><property name="concurrent" value="false"/><!--多个job不会并发运行,第二个job将不会在第一个job完成之前开始。--></bean><!--这个bean的id需要在下面的list中用到,class不需要修改--><bean id="modDeskTopReviewTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"><property name="jobDetail" ref="modDeskTopReviewDetail"/><!--与上面第二个bean的id的值一样 --><property name="cronExpression" value="0 0 3 * * ?"/><!--每天凌晨3点执行 --><property name="description" value="定时修改用户名"></property></bean><bean id="startScheduler" lazy-init="true" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="autoStartup" value="true"/><property name="schedulerName" value="cronScheduler" /><property name="triggers"><list><!-- 添加上面第三个bean的id的值 --><ref bean="modDeskTopReviewTrigger"/></list></property></bean></beans>
第四步,在Web项目app_config.xml中配置spring-quartztask.xml 文件的加载路径,具体内容如下
<?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:aop="http://www.springframework.org/schema/aop" xmlns:tx="http://www.springframework.org/schema/tx" xmlns:context="http://www.springframework.org/schema/context" xmlns:util="http://www.springframework.org/schema/util" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.1.xsdhttp://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-3.1.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.1.xsdhttp://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.1.xsd"><import resource="spring-quartztask.xml"></import></beans>到这整个就配置完成了.设置启动时间,项目启动后到时间就可以启动了.
0 0
- spring下使用Quartz完成定时任务
- spring boot环境下使用quartz设置定时任务
- spring boot下定时任务quartz的集群使用
- spring中使用quartz实现定时任务
- 使用Spring Quartz执行定时任务
- spring使用Quartz实现定时任务
- 使用spring 的Quartz 定时任务入门
- spring-quartz定时任务使用小结
- spring使用quartz发布定时任务
- 定时任务(Spring与Quartz使用)
- 使用spring quartz实现定时任务
- 使用Spring+Quartz的定时任务。
- 使用spring quartz实现定时任务
- 使用spring quartz实现定时任务
- spring里面使用quartz实现定时任务
- 使用Spring + quartz实现定时任务调度
- Spring web项目使用Quartz定时任务
- 使用Spring+Quartz实现定时任务
- 【网络】接口状态
- 《android 导入第三方源码jar包遇到的坑》
- IDE集成开发环境下载地址
- 多线程问题总结
- images.xcoassets真机编译报错
- spring下使用Quartz完成定时任务
- Ransom Note
- pgsql对象标识符类型
- select、poll、epoll之间的区别总结
- 数据结构与算法分析笔记与总结(java实现)--二叉树8:寻找错误结点练习题
- 你是否属于有两三年工作经验但对自己的前途感到迷茫的程序员
- 【Maven】Project configuration is not up-to-date with pom.xml错误解决方法
- photoshop如何抠图3
- Mycat批量插入与ID自增长结合的支持