quartz

Spring定时任务的几种实现

纵然是瞬间 提交于 2019-11-29 00:25:20
Spring定时任务的几种实现 近日项目开发中需要执行一些定时任务,比如需要在每天凌晨时候,分析一次前一天的日志信息,借此机会整理了一下定时任务的几种实现方式,由于项目采用spring框架,所以我都将结合 spring框架来介绍。 一.分类 从实现的技术上来分类,目前主要有三种技术(或者说有三种产品): Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少,这篇文章将不做详细介绍。 使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行,配置起来稍显复杂,稍后会详细介绍。 Spring3.0以后自带的task,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多,稍后会介绍。 从作业类的继承方式来讲,可以分为两类: 作业类需要继承自特定的作业类基类,如Quartz中需要继承自org.springframework.scheduling.quartz.QuartzJobBean;java.util.Timer中需要继承自java.util.TimerTask。 作业类即普通的java类,不需要继承自任何基类。 注:个人推荐使用第二种方式,因为这样所以的类都是普通类

java crm 进销存 springmvc SSM 项目 系统 源码

独自空忆成欢 提交于 2019-11-29 00:08:50
系统介绍: 1.系统采用主流的 SSM 框架 jsp JSTL bootstrap html5 (PC浏览器使用) 2.springmvc +spring4.3.7+ mybaits3.3 SSM 普通java web(非maven, 附赠pom.xml文件) 数据库:mysql 3.开发工具:myeclipse eclipse idea 均可, 没有限制. 我这边myeclipse 2014 导出来的项目源码 更新即时通讯功能,支持好友,群组,发图片、文件,消息声音提醒,离线消息,保留聊天记录 客户资料:记录客户资料,备注客户信息,跟踪记录客户状况 客户备注:客户资料附属选项 客户级别:客户资料附属选项 商品列表:维护商品数据,有富文本编辑器,有明细表上传商品图片, 生成商品二维码、条形码 商品类别:商品附属选项 品牌管理:商品附属选项 计量单位:商品附属选项 商品库存:展现商品库存情况,库存小的排最前 商品入库:录入商品入库数据,数量、单价、入库时间。计算某时间范围内的进货总金额 商品出库:录入商品出库数据,数量、销售价格、销售出库时间。计算某时间范围内的销售总金额 (出库即销售,支持一个订单多个商品信息,一对多的关系) 销售报表:列表展示商品销售情况,可根据销量和销售额排序,以便掌握哪个商品卖的好并调整销售方案 系统模块 权限管理:点开二级菜单进入三级菜单显示 角色(基础权限

Spring Quartz 任务静态配置和动态添加

≡放荡痞女 提交于 2019-11-28 23:03:56
Quartz任务可以静态配置到配置文件中,也可以动态添加. 1.Quartz任务 静态配置 其中 <property name="concurrent" value="false"/>,是设置job不能并发执行。 <!-- 删除旧数据定时任务 --> <!-- 删除新闻数据job --> <bean id="delOldNewsJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject" ref="deleteOldNewsJob"/> <property name="targetMethod" value="doJob"/> <property name="concurrent" value="false"/> <!--防止job并发执行--> </bean> <!-- tigger --> <bean id="deleteOldNewsJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <!-- org.springframework.scheduling.quartz

Spring与Quartz实现定期任务

那年仲夏 提交于 2019-11-28 23:03:25
日志说明: 1、不对Spring的基础环境配置做详细说明; 2、只是记录一下暂时自己从网上及参考手册上查找到的经测试有用的资料 3、记录一下,方便以后自己或需要的朋友使用,后续有新的有用资料会及时更新 4、可查看Spring4.0参考手册:Part Ⅵ.Integration的27.6Using the Quartz Scheduler 5、测试时用的却是Spring3.1.3 注意: 引用Quartz时最好使用1.8.5 (目前最新的是2.2.1,此版本与Spring3.1.1暂不兼容,实测时启动项目会报错,具体什么错误给忘了) <!-- 任务调度测试实现一 : 自定义的任务对象com.bocloud.equipment.test.ExampleJob 必须继承QuartzJobBean类,实现抽象方法executeInternal 每次执行任务时,都会新创建一个任务对象. --> <bean id="myJobDetail" class="org.springframework.scheduling.quartz.JobDetailBean"> <!-- 属性jobClass不能通过ref来指定为exampleJob对象,该属性接收的是Class类型的参数 进行任务调度时,每次都是一个新的jobClass对象去执行executeInternal方法 --> <property

spring4.0 整合 Quartz 实现任务调度(一)

て烟熏妆下的殇ゞ 提交于 2019-11-28 23:02:56
前言   项目需求:     二维码推送到一体机上,给学生签到扫描用。然后需要的是 上课前20分钟 ,幸好在帮带我的学长做 p2p 的时候,接触过。自然 quartz 是首选。所以我就配置了下,搞了个小样例给大家。 正文   spring4.0 整合 Quartz 实现 任务调度 。这是期末项目的最后一篇,剩下到暑假吧。 Quartz 介绍    Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along side virtually any Java application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs;    Quartz框架是一个全功能、开源的任务调度服务,可以集成几乎任何的java应用程序—从小的单片机系统到大型的电子商务系统。Quartz可以执行上千上万的任务调度

项目ITP(五) spring4.0 整合 Quartz 实现任务调度

…衆ロ難τιáo~ 提交于 2019-11-28 23:02:37
2014-05-16 22:51 by Jeff Li 前言   系列文章: [传送门]   项目需求:     二维码推送到一体机上,给学生签到扫描用。然后需要的是 上课前20分钟 ,幸好在帮带我的学长做 p2p 的时候,接触过。自然 quartz 是首选。所以我就配置了下,搞了个小样例给大家。 正文   spring4.0 整合 Quartz 实现 任务调度 。这是期末项目的最后一篇,剩下到暑假吧。   Quartz 介绍    Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along side virtually any Java application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to create simple or complex schedules for executing tens, hundreds, or even tens-of-thousands of jobs;    Quartz框架是一个全功能、开源的任务调度服务

Quartz与Spring集成—— SchedulerFactoryBean的初始化分析

廉价感情. 提交于 2019-11-28 23:02:20
前言 Quartz是一个开源的定时调度框架,支持集群部署。我们可以通过其Java API来使用它,或者通过Spring来配置与管理,也可以结合使用两种方式。本文重点分析Quartz2.2.3与Spring4.3.0.RELEASE集成时的初始化过程。 SchedulerFactoryBean 与Spring集成时通常需要在Spring配置文件中加入SchedulerFactoryBean这个工厂Bean,例如: <bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="dataSource" ref="dataSource"/> <property name="overwriteExistingJobs" value="true"/> <property name="configLocation" value="classpath:quartz.properties"/> </bean> 再来看看SchedulerFactoryBean的类定义: public class SchedulerFactoryBean extends SchedulerAccessor implements FactoryBean

Spring定时任务的几种实现方式

白昼怎懂夜的黑 提交于 2019-11-28 23:01:53
近日项目开发中需要执行一些定时任务,比如需要在每天凌晨更新当天签到状态为未签到。从网上找了找 ,觉得这篇总结的较为详尽,就先转载下方便以后查阅。感谢原作者的归纳和分享。 一.分类 从实现的技术上来分类,目前主要有三种技术(或者说有三种产品): Java自带的java.util.Timer类,这个类允许你调度一个java.util.TimerTask任务。使用这种方式可以让你的程序按照某一个频度执行,但不能在指定时间运行。一般用的较少,这篇文章将不做详细介绍。 使用Quartz,这是一个功能比较强大的的调度器,可以让你的程序在指定时间执行,也可以按照某一个频度执行,配置起来稍显复杂,稍后会详细介绍。 Spring3.0以后自带的task,可以将它看成一个轻量级的Quartz,而且使用起来比Quartz简单许多,稍后会介绍。 从作业类的继承方式来讲,可以分为两类: 作业类需要继承自特定的作业类基类,如Quartz中需要继承自org.springframework.scheduling.quartz.QuartzJobBean;java.util.Timer中需要继承自java.util.TimerTask。 作业类即普通的java类,不需要继承自任何基类。 注:个人推荐使用第二种方式,因为这样所以的类都是普通类,不需要事先区别对待。 从任务调度的触发时机来分

调度器(Quartz)

孤人 提交于 2019-11-28 23:01:34
任务调度的时机(背景) 例如在开发购物网站时会遇到一个问题,因白天订单多流量大,为减轻网站压力要求一些不是太急的任务(如给注册用户发送广告邮件、清理日常垃圾信息等)放在凌晨流量较小时间段去执行,这个时候就需要使用到任务调度,指定在某个时间内执行某个任务 任务调度实现方式 借助java.util.Timer来实现的。对于更加复杂任务调度,Timer不太容易(定时器) 使用Spring的Quartz调度器可弥补Timer的不足,使开发者能完成各种复杂任务调度(调度器) spring调度器(Quartz) 介绍 Quartz调度器为调度工作提供更丰富的支持,与Java定时器一样,可使用Quartz指定每隔多少毫秒执行一个工作,但Quartz比Java的Timer优势在于Quartz允许调度一个工作在某个特定的时间或日期执行。 使用Quartz有两种方式实现 任务类继承QuartzJobBean 在配置文件中定义任务类和要执行的方法(借助:MethodInvokingJobDetailFactoryBean) Spring实现调度器基本步骤 第一步:创建一个用于指定执行任务的QuartzJobBean子类 QuartzJobBean实现org.quartz.Job接口。QuartzJobBean子类应当覆盖executeInternal()方法,在executeInternal(

Quartz在Spring中动态设置cronExpression (spring设置动态定时任务)

倖福魔咒の 提交于 2019-11-28 23:01:06
什么是动态定时任务:是由客户制定生成的,服务端只知道该去执行什么任务,但任务的定时是不确定的(是由客户制定)。 这样总不能修改配置文件每定制个定时任务就增加一个trigger吧,即便允许客户修改配置文件,但总需要重新启动web服务啊,研究了下Quartz在Spring中的动态定时,发现<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean" > <property name="jobDetail" ref="schedulerJobDetail"/> <property name="cronExpression"> <value>0/10 * * * * ?</value> </property> 中 cronExpression是关键,如果可以动态设置cronExpression的值,也就说如果我们可以直接调用CronTriggerBean中设置cronExpression的方法,就可以顺利解决问题了。 熟悉1的朋友可以跳过不看,下面2、3是动态定时任务的具体实现。 1. Quartz在Spring中的简单配置 Spring配置文件: <bean id="schedulerJobDetail" class="org.springframework.scheduling