quartz 定时任务配置文件有五大要素,配置好这五大要素,quartz 就能够正常的工作。

五大要素分别是:

1、工作的 bean:具体是哪个 Java 类来作为定时任务的文件入口,并配置该 bean 依赖的 bean

2、工作的 method:也可以称为 job,用上面指定的 Java 类中哪个方法作为定时任务的方法入口,依赖第一要素的 bean

3、工作的 trigger:直译为触发器,定时任务执行的时间、频次等信息,依赖第二要素的 method(或者 job)

4、工作线程的配置:可以称为 taskExecutor,配置线程池大小等信息

5、工作的调度:哪些 trigger 需要工作、使用哪个 taskExecutor,依赖第三要素(trigger)和第四要素(taskExecutor)

下面分别开始介绍每个要素的配置详情

先给出执行的 Java 类代码 QuartzSrvBean.java

/**
* 定时任务调度
*/
public class QuartzSrvBean {
private Logger logger = LoggerFactory.getLogger(QuartzSrvBean.class); private PreOrderMonitorService preOrderMonitorService; public void setPreOrderMonitorService(
PreOrderMonitorService preOrderMonitorService) {
this.preOrderMonitorService = preOrderMonitorService;
} /**
* 定时执行任务.....
*/
public void exec() {
//记录定时任务日志
logger.info("xxxx定时任务开始执行-------------");
boolean isComplete = preOrderMonitorService.execUpdateTask(null);
logger.info("xxxx定时任务isComplete:" + isComplete);
} }

一、工作的 bean

<bean id="quartzSrvBean" class="com.xxx.yyy.common.QuartzSrvBean">
<property name="preOrderMonitorService" ref="preOrderMonitorService"></property>
</bean>

二、工作的 method(也叫 job)

<!-- job的配置开始 -->
<bean id="myJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="quartzSrvBean"></property>
<property name="targetMethod" value="exec"></property>
</bean>

三、工作的 trigger

<bean id="myJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="myJobDetail" />
</property>
<property name="cronExpression">
<value>0/30 * * * * ?</value>
</property>
</bean>
cron 表达式生成可以用下面这个网页小工具:
http://cron.qqe2.com/

四、工作线程的配置(taskExecutor)

<!-- 配置线程的数量 -->
<bean id="executor" class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<property name="corePoolSize" value="1" />
<property name="maxPoolSize" value="1" />
<property name="queueCapacity" value="500" />
</bean>

五、工作的调度

<!-- 启动触发器 -->
<bean name="startQuertz" id="startQuertz" lazy-init="false" autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="myJobTrigger" />
</list>
</property>
<property name="taskExecutor" ref="executor"></property>
</bean>

原文链接:

https://www.cnblogs.com/poterliu/p/11770831.html

quartz 定时任务配置文件信息的更多相关文章

  1. Quartz定时任务简单实例

    文章纲要: 初步搭建一个由Quartz为引擎集群的定时任务模块,功能为每隔30秒打印一条信息(Hello World!!!) 一.环境 Spring MVC Mevan Quartz 2.2.1 二. ...

  2. Quartz定时任务学习(二)web应用/Quartz定时任务学习(三)属性文件和jar

    web中使用Quartz 1.首先在web.xml文件中加入 如下内容(根据自己情况设定) 在web.xml中添加QuartzInitializerServlet,Quartz为能够在web应用中使用 ...

  3. SpringBoot整合Quartz定时任务 的简单实例 2

    (1)什么是Quartz?(2)Quartz的特点:(3)Quartz专用词汇说明:(4)Quartz任务调度基本实现原理: 接下来看下具体的内容: (1)什么是Quartz? Quartz是一个完全 ...

  4. SpringBoot + Quartz定时任务示例

    程序文件结构,如下图,后面详细列出各文件的代码: 1. maven的pom.xml文件如下: <project xmlns="http://maven.apache.org/POM/4 ...

  5. springboot集成shiro集成mybatis-plus、redis、quartz定时任务

    完整项目代码位于码云上,点击获取:Git地址 主要介绍一下重点配置地方: 一.application.yml文件 server: port: 8084 servlet: context-path: / ...

  6. Quartz定时任务学习(二)web应用

    web中使用Quartz 1.首先在web.xml文件中加入 如下内容(根据自己情况设定) 在web.xml中添加QuartzInitializerServlet,Quartz为能够在web应用中使用 ...

  7. Quartz定时任务使用小记(11月22日)

    骤然接触quartz,先从小处着手,why,what,how quartz定时任务: 为什么使用quartz定时任务,以及定时任务在实际应用场景下的特定需求. 1.用户方面的需要,为了提供更好的使用体 ...

  8. 对quartz定时任务的初步认识

    已经好久没有写技术博文了,今天就谈一谈我前两天自学的quartz定时任务吧,我对quartz定时任务的理解,就是可以设定一个时间,然后呢,在这个时间到的时候,去执行业务逻辑,这是我的简单理解,接下来看 ...

  9. Spring整合Quartz定时任务执行2次,Spring定时任务执行2次

    Spring整合Quartz定时任务执行2次,Spring定时任务执行2次 >>>>>>>>>>>>>>>&g ...

随机推荐

  1. gmock 简单笔记

    std::shared_ptr<MockThreadRCInvester> spMockaAcc; HelperThreadRCInvester helperAcc; // spMockA ...

  2. Maven - Scope区别

    依赖的Scope scope定义了类包在项目的使用阶段.项目阶段包括: 编译,运行,测试和发布. 分类说明 compile 默认scope为compile,表示为当前依赖参与项目的编译.测试和运行阶段 ...

  3. 校园商铺-4店铺注册功能模块-1Dao层之更新店铺

    dao层增加更新店铺的方法 package com.csj2018.o2o.dao; import com.csj2018.o2o.entity.Shop; public interface Shop ...

  4. thinkphp for标签

    用法: 大理石平台厂家 <for start="开始值" end="结束值" comparison="" step="步进值 ...

  5. vim 正则表达式获取双引号中的字符

    vim 正则表达式获取双引号中的字符   1.获取双引号中的字符 :%s/.*\".∗\".*/\1/ 2.用字符串建立标签 如 hello  <hello></ ...

  6. android GPS: code should explicitly check to see if permission is available

    转载的,感谢作者,由于我找了很久才找到这个解决方法,因此我自己再转一遍 原文链接 https://blog.csdn.net/qinwendou/article/details/77849048 if ...

  7. Spring Cloud Config的配置中心使用非对称性加密

    首先,我们需要通过keytool工具来生成密钥对. keytool是JDK中的一个密钥和证书管理工具.它使用户能够管理自己的公钥/私钥对及相关证书,用于(通过数字签名)自我认证(用户向别的用户/服务认 ...

  8. 无法启动此程序,因此计算机中丢失VCRUNTIME140.dll。

    在mysql-8.0.12-winx64创建data文件夹 在cmd终端 初始化 MYSQL: mysqld --initialize-insecure MySQL加入Windows服务:mysqld ...

  9. linux xargs命令一(与find ls等命令组合)(转)

    -p 操作具有可交互性,每次执行comand都交互式提示用户选择 -i -i 选项告诉 xargs 可以使用{}代替传递过来的参数, 建议使用-I,其符合POSIX标准 -I 格式: xargs  - ...

  10. springboot启动器:spring-boot-starter

    今天想要导入thymeleaf的依赖,但是又不想从其他博复制粘贴,于是去spring官方文档找一找 在idea新建的springbootweb项目中,有一个HELP.md文件,里面包含spring w ...