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 ...
随机推荐
- Linux命令(八)之安装Jdk、Tomcat
.personSunflowerP { background: rgba(51, 153, 0, 0.66); border-bottom: 1px solid rgba(0, 102, 0, 1); ...
- 以命令行方式使用Desktop版Ubuntu
方法1:安装Ubuntu Server版,好处是默认不安装GUI,且可以自动安装ssh服务和其他很多服务,且消耗系统资源少(约200MB内存,Desktop版启动后需要500MB左右内存),启动和关闭 ...
- Ubuntu本地提权适配不同小版本内核(CVE-2017-16995)
朋友在执行的时候说有的会出现提权不成功,内核crash掉的现象.因为cred结构体的偏移量可能因为内核版本不同.内核编译选项不同而出现差异,作者给的exp偏移量是写死的,所以exp里面对应的偏移地址也 ...
- [WPF] 使用 MVVM Toolkit 构建 MVVM 程序
1. 什么是 MVVM Toolkit 模型-视图-视图模型 (MVVM) 是用于解耦 UI 代码和非 UI 代码的 UI 体系结构设计模式. 借助 MVVM,可以在 XAML 中以声明方式定义 UI ...
- Tag Helper 标签助手
简介 标签助手是Razor 页面中自动生成HTML语句的可重用组件.标签助手对应特定的HTML标签,ASP.NET Core 包含大量与HTML标签对应的预定义标签助手. Razor页面中的标签助手作 ...
- 位(bit)、字节(Byte)、字(Word)、双字(Dword)之间的关系
位(bit): bit(简写:b),是计算机数据存储最小的单位,二进制中,0或者1就是一个位(比特位)bit. 字节: Byte(简写:B),是计算机信息技术用于计量存储容量的一种计量单位,通常情况下 ...
- 一个tomcat配置多个不同端口的项目
1.将要同时启动的项目放入不同的webapps文件夹中 2.修改tomcat安装目录下的conf-->setting.xml文件 <?xml version="1.0" ...
- Linux部署Redis服务器
一,Redis介绍 Redis如今已经成为Web开发社区最火热的内存数据库之一,随着Web2.0的快速发展,再加上半结构数据比重加大,网站对高效性能的需求也越来越多. 而且大型网站一般都有几百台或者更 ...
- luogu P2473 奖励关
奖励关 看到数据范围,想到状压,那问题就是如何设计方程 设\(dp[i][j]\)表示在第\(i\)轮的时候,状态为\(j\)时的最优策略所拿的分值,\(j\)的二进制下为1的位置,表示选了这个宝物, ...
- Docker创建Docker-Registry-私服
docker-compose.yml version: '3.1' services: registry: image: registry restart: always container_name ...