Java定时任务Quartz
第一步:pom文件中添加依赖包
第二步:创建xml文件,名称为:spring-scheduler 路径如下图:
第三步:spring-scheduler配置详情
<!--创建任务-->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="jobDetails">
<list>
<ref bean="updateTimeOutUrgentJobDetail" />
<ref bean="earlyWarnJobDetail" />
<!--<ref bean="msgPushJobDetail" />-->
</list>
</property>
<!--引入触发器-->
<property name="triggers">
<list>
<ref bean="updateTimeOutUrgentTrigger" />
<ref bean="earlyWarnJobTrigger" />
<!--<ref bean="msgPushJobTrigger" />-->
</list>
</property>
</bean> <!--任务 引入具体的service-->
<bean id="updateTimeOutUrgentJobDetail" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
<property name="jobClass" value="cn.com.klec.bepcs.web.quartz.TimeOutUrgentJob" />
<property name="jobDataMap">
<map>
<entry key="timeOutUrgentJobService" value-ref="timeOutUrgentJobService" />
</map>
</property> <property name="durability" value="true" />
</bean>
<!--创建触发器-->
<bean id="updateTimeOutUrgentTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<!--引入任务-->
<property name="jobDetail" ref="updateTimeOutUrgentJobDetail" />
<!--指定 Cron 表达式-->
<property name="cronExpression" value="0 0 * * * ?"/>
</bean>
第三步:实现定时任务,具体的业务操作
第四步:创建任务 TimeOutUrgentJob
public class TimeOutUrgentJob extends QuartzJobBean {
private static final Logger LOG = LoggerFactory.getLogger(TimeOutUrgentJob.class);
private TimeOutUrgentJobService timeOutUrgentJobService;
@Override
protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
LOG.info("**********************里程碑催办任务启动*******************************");
try {
timeOutUrgentJobService = (TimeOutUrgentJobService) context.getMergedJobDataMap().get("timeOutUrgentJobService");
timeOutUrgentJobService.insertInfo(); } catch (Exception e) {
LOG.error("里程碑催办任务异常: ", e);
} finally {
LOG.info("**************************里程碑催办任务结束 **************************");
}
} }
第五步:启动项目
注释:timeOutUrgentJobService.insertInfo();就是项目中需要具体实现的业务,quartz默认10个线程
Java定时任务Quartz的更多相关文章
- java定时任务Quartz Demo(2.X)
直接上代码 public class HelloQuartz implements Job{ @Override public void execute(JobExecutionContext Jec ...
- atititt.java定时任务框架选型Spring Quartz 注解总结
atititt.java定时任务框架选型Spring Quartz 总结 1. .Spring Quartz (ati recomm) 1 2. Spring Quartz具体配置 2 2.1. 增 ...
- [转][JAVA]定时任务之-Quartz使用篇
[BAT][JAVA]定时任务之-Quartz使用篇 定时任务之-Quartz使用篇 Quartz是OpenSymphony开源组织在Job scheduling领域又一个开源项目,它可以与J2EE与 ...
- Quartz实现JAVA定时任务的动态配置
什么是动态配置定时任务? 首先说下这次主题,动态配置.没接触过定时任务的同学可以先看下此篇:JAVA定时任务实现的几种方式 定时任务实现方式千人千种,不过基础的无外乎 1.JDK 的Timer类 2. ...
- Java生鲜电商平台-定时器,定时任务quartz的设计与架构
Java生鲜电商平台-定时器,定时任务quartz的设计与架构 说明:任何业务有时候需要系统在某个定点的时刻执行某些任务,比如:凌晨2点统计昨天的报表,早上6点抽取用户下单的佣金. 对于Java开源生 ...
- java 多线程——quartz 定时调度的例子
java 多线程 目录: Java 多线程——基础知识 Java 多线程 —— synchronized关键字 java 多线程——一个定时调度的例子 java 多线程——quartz 定时调度的例子 ...
- spring学习总结(mybatis,事务,测试JUnit4,日志log4j&slf4j,定时任务quartz&spring-task,jetty,Restful-jersey等)
在实战中学习,模仿博客园的部分功能.包括用户的注册,登陆:发表新随笔,阅读随笔:发表评论,以及定时任务等.Entity层设计3张表,分别为user表(用户),essay表(随笔)以及comment表( ...
- Java 定时任务的几种实现方式
JAVA实现定时任务的几种方式 @(JAVA)[spring|quartz|定时器] 近期项目开发中需要动态的添加定时任务,比如在某个活动结束时,自动生成获奖名单,导出excel等,此类任务由于活动 ...
- spring -boot定时任务 quartz 基于 MethodInvokingJobDetailFactoryBean 实现
spring 定时任务 quartz 基于 MethodInvokingJobDetailFactoryBean 实现 依赖包 如下 <dependencies> <depende ...
随机推荐
- Send Excerpts from Jenkins Console Output as Email Contents
Sometimes we need to send some excerpts from Jenkins console output (job logs) as email, such as tes ...
- Java和Groovy脚本互相调用实例
本实例是GODU动态脚本的一个技术简化版,演示了java调groovy,groovy又调java的运行过程. 测试用例: package com.boco.godu.integration; impo ...
- 【笔记】集成学习入门之soft voting classifier和hard voting classifier
集成学习入门之soft voting classifier和hard voting classifier 集成学习 通过构建并结合多个学习器来完成学习任务,一般是先产生一组"个体学习器&qu ...
- 踩坑记录--接口调用,传参DataTable报错
问题描述 服务端提供接口,接口参数包含DataTable类型,客户端调用显示请求报错,Postman调用显示Could not get response 解决 原因 接口实现基于wcf,而wcf参数类 ...
- Maven脑图
转自:https://segmentfault.com/a/1190000017832792 参考:https://www.cnblogs.com/mzywucai/p/11053341.html
- 详细解读go语言中的map
Map map底层是由哈希表实现的 Go使用链地址法来解决键冲突. map本质上是一个指针,指向hmap 这里的buckets就是桶,bmap 每一个bucket最多可以放8个键值对,但是为了让内存排 ...
- 修改python import模块中的变量
可以直接通过 模块名.变量名=xx 的方式修改模块中的全局变量,测试代码如下 模块:test_model.py x = 111 def inc_x(): global x x = x + 1 测试脚本 ...
- jquery mobile常用的data-role类型
data-role参数表: page 页面容器,其内部的mobile元素将会继承这个容器上所设置的属性 header 页面标题容器,这个容器内部可以包含文字.返回按钮.功能按钮等 ...
- UOS LoongArch 上成功安装.NET Core 3.1
龙芯.NET团队正式发布了.NET Core 3.1 For LoongArch, 具体参见龙芯开源网站 http://www.loongnix.cn/index.php/Dotnet . 进入安装包 ...
- cmd编译java时常见错误
中文乱码 在执行javac时出现如图所示问题, 解决方法: 改用 javac -encoding UTF-8执行 找到路径:控制面板--系统和安全--系统--高级系统设置--环境变量--系统变量. 新 ...