项目ITP(五) spring4.0 整合 Quartz 实现任务调度
前言
系列文章:[传送门]
项目需求:
二维码推送到一体机上,给学生签到扫描用。
然后须要的是 上课前20分钟 。幸好在帮带我的学长做 p2p 的时候。接触过。自然 quartz 是首选。所以我就配置了下,搞了个小例子给大家。
正文
spring4.0 整合 Quartz 实现任务调度。这是期末项目的最后一篇。剩下到暑假吧。
Quartz 介绍
Quartz能够运行上千上万的任务调度。
实战
第一步 :spring、quartz 对应的jar包,加入到项目中(须要的call me)
/WEB-INF/lib/quartz-2.2.1.jar
以及spring的一些必要包
<?
xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_3_0.xsd" id="WebApp_ID" version="3.0"> <display-name>wmuitp</display-name> <!--Spring WebApplicationContext上下文,称为父上下文(父容器)--> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener> <!--Srping <listener> <listener-class> org.springframework.web.context.request.RequestContextListener </listener-class> </listener> --> <!--载入spring的配置文件 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:applicationContext.xml</param-value> </context-param> <!--Spring MVC 配置 DispatcherServlet--> <servlet> <servlet-name>springServlet</servlet-name> <servlet-class>org.springframework.web.servlet.DispatcherServlet</servlet-class> <init-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:spring-mvc.xml</param-value> </init-param> <load-on-startup>1</load-on-startup> </servlet> <servlet-mapping> <servlet-name>springServlet</servlet-name> <url-pattern>/</url-pattern> </servlet-mapping> <!--filter配置,解决编码问题 --> <filter> <filter-name>encodingFilter</filter-name> <filter-class>org.springframework.web.filter.CharacterEncodingFilter</filter-class> <init-param> <param-name>encoding</param-name> <param-value>UTF-8</param-value> </init-param> <init-param> <param-name>forceEncoding</param-name> <param-value>true</param-value> </init-param> </filter> <filter-mapping> <filter-name>encodingFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!--OpenSessionInViewFilter配置,解决延迟载入时Session会关闭的问题 --> <filter> <filter-name>openSessionInViewFilter</filter-name> <filter-class>org.springframework.orm.hibernate4.support.OpenSessionInViewFilter</filter-class> </filter> <filter-mapping> <filter-name>openSessionInViewFilter</filter-name> <url-pattern>/*</url-pattern> </filter-mapping> <!-- session过期时间: 20--> <session-config> <session-timeout>20</session-timeout> </session-config> <!-- 错误界面 --> <error-page> <exception-type>java.lang.Throwable</exception-type> <location>/WEB-INF/error/500.jsp</location> </error-page> <error-page> <error-code>500</error-code> <location>/WEB-INF/error/500.jsp</location> </error-page> <error-page> <error-code>404</error-code> <location>/WEB-INF/error/404.jsp</location> </error-page> <error-page> <error-code>400</error-code> <location>/WEB-INF/error/400.jsp</location> </error-page> </web-app>
#有些你不用的,就不要写了。
<!--Quartz--><!-- 集成方式:JobDetailFactoryBean,而且任务类须要继承QuartzJobBean--><!-- 定义jobDetail --><bean id="jobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean"><!-- durability 表示任务完毕之后是否依旧保留到数据库,默认false --><property name="durability" value="true" /> <!-- 目标类 /wmuitp/src/test/SpringQuartz.java--><property name="jobClass" value="test.SpringQuartzTest"></property><!-- 在这个样例中,jobDataAsMap没实用,此目标类中接受的參数 ,若參数为service,则能够在此进行參数配置。类似struts2 --><!--<property name="jobDataAsMap"> <map> <entry key="service"><value>simple is the beat</value></entry> </map> </property>--></bean><!-- 定义simpleTrigger触发器 --><!-- <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean"><property name="jobDetail" ref="jobDetail"></property><property name="repeatCount"><value>8</value></property><property name="repeatInterval"><value>1000</value></property><property name="startDelay"><value>4</value></property></bean> --><!-- 还有一种触发器是CornTrigger --><bean id="cornTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"><property name="jobDetail" ref="jobDetail"/><!-- 每一个10秒触发 --><property name="cronExpression" value="0/10 * * * * ?"/></bean> <!-- 定义核心调度器 --><bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="triggers"><ref bean="cornTrigger"/></property></bean>
#目标类
<property name="jobClass" value="test.SpringQuartzTest"></property>
以下第四步:编写目标类
package test;import java.util.Date;import org.quartz.JobExecutionContext; import org.quartz.JobExecutionException; import org.springframework.scheduling.quartz.QuartzJobBean;public class SpringQuartzTest extends QuartzJobBean {/*业务实现*/public void work() {System.out.println("运行调度任务:"+new Date());}@Overrideprotected void executeInternal(JobExecutionContext arg0)throws JobExecutionException {this.work();} }
#须要继承QuartzJobBean測试执行结果(这个非常重要 能服众)
总结
spring quartz
感谢及资源共享
http://url.cn/RzETYu 增加我的群
路上走来一步一个脚印,希望大家和我一起。
感谢读者!非常喜欢你们给我的支持。假设支持,点个赞。
知识来源: 《spring in action》
项目ITP(五) spring4.0 整合 Quartz 实现任务调度相关推荐
- 触发日期spring3整合quartz实现任务调度功能
发一下牢骚和主题无关: 前段时光做项目,好几个项目都有务任调度的功能.自己也没做过这方面的开辟,特地抽了点时光研讨了一下这个玩意,觉感还是挺好用的,借此时光就给击打分享一下那个.我这里用的spring ...
- quartz 2.0持久化到mysql_SpringBoot2.0整合Quartz定时任务(持久化到数据库,更为简单的方式)...
1. pom文件添加依赖 org.springframework.boot spring-boot-starter org.springframework.boot spring-boot-start ...
- Spring+Quartz定时任务调度
Spring+Quartz定时任务调度 2011/5 zqhxuyuan@gmail.com 参考文章: http://www.iteye.com/topic/399980 org.sprin ...
- SSM项目整合Quartz
一.背景 SSM项目中要用到定时器,初期使用Timer,后来用spring 的schedule,都比较简单,所以功能比较单一而且他们不能动态的配置时间.后来就研究quartz,准备整合到项目中.Qua ...
- Spring4.2.6+SpringMVC4.2.6+MyBatis3.4.0 整合
[0]README 0)本文旨在 review Spring4.2.6+SpringMVC4.2.6+MyBatis3.4.0 整合过程: 1)项目整合所涉及的源代码,please visit ht ...
- [转]Struts2.3.16.1+Hibernate4.3.4+Spring4.0.2 框架整合
原文地址:http://blog.csdn.net/ycb1689/article/details/22928519 最新版Struts2+Hibernate+Spring整合 目前为止三大框架最新版 ...
- 商城项目(五)整合Elasticsearch实现商品搜索
商城项目(五)整合Elasticsearch实现商品搜索 环境配置 Elasticsearch Elasticsearch 是一个分布式.可扩展.实时的搜索与数据分析引擎. 它能从项目一开始就赋予你的 ...
- Spring Boot定时任务-SpringBoot整合Quartz
如何通过SpringBoot整合Quartz框架,我们首先去创建一个项目,接下来我们需要在pom文件里添加坐标,我们在使用SpringBoot整合Quartz的时候,需要添加哪些坐标呢,我们来看一下, ...
- SpringBoot2.0 整合 QuartJob ,实现定时器实时管理
一.QuartJob简介 1.一句话描述 Quartz是一个完全由java编写的开源作业调度框架,形式简易,功能强大. 2.核心API (1).Scheduler 代表一个 Quartz 的独立运行容 ...
最新文章
- 深度学习---TensorFlow学习笔记:搭建CNN模型
- redis——HyperLogLog
- VS2017打开低版本的VS MVC架构的项目的时候需要修改的地方
- python实现随机抽取答题_如何在python中实现随机选择
- mybatis Table book.t_abmin not find
- 华扬联众携手搜狗,助雅诗兰黛跃居女神节“C位”
- 先进的分销管理系统(ADMS)的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- xshell教育版网盘下载
- java闹钟_JAVA 闹钟程序
- 企业大楼AI无感考勤解决方案
- 谷歌地球倾斜模型3Dtiles格式cesium格式一键导入查看
- c语言欧几里得算法求素数,jrs直播(无插件) -官网
- JAVA日记之SpringIoC和DI注解开发 ----喝最烈的酒.
- 又一起“删库”:链家程序员怒删公司 9TB 数据,被判 7 年!
- pandas groupy和agg一起使用,as_index = False不生效?
- Ubuntu下视频播放加速软件SMPlyer
- 导航栏随屏幕移动而变化
- Java局域网文件共享与检索系统
- 非常成功的破解了Mac Myeclipse2018.8,内附破解工具下载
- Unity3d 基于物理渲染Physically-Based Rendering之specular BRDF
热门文章
- OpenERP与Python 元编程
- 所有接口添加plist文件的写法 swift
- 人工智能对地球环境科学的推进
- 《Linux From Scratch》第二部分:准备构建 第三章:软件包与补丁- 3.1. 简介
- 屏幕后处理——Bloom
- linux carry php Soap 扩展
- jQuery 2.0.3 源码分析core - 整体架构
- How can I create an Asynchronous function in Javascript?
- IDEA热部署基于maven的web项目
- 1677: [Usaco2005 Jan]Sumsets 求和