当前位置: 首页 > 编程笔记 >

Spring+Quartz配置定时任务实现代码

章景同
2023-03-14
本文向大家介绍Spring+Quartz配置定时任务实现代码,包括了Spring+Quartz配置定时任务实现代码的使用技巧和注意事项,需要的朋友参考一下

作为一个优秀的开源调度框架,Quartz 具有以下特点:

强大的调度功能,例如支持丰富多样的调度方法,可以满足各种常规及特殊需求;

灵活的应用方式,例如支持任务和调度的多种组合方式,支持调度数据的多种存储方式;

分布式和集群能力,Terracotta 收购后在原来功能基础上作了进一步提升。

另外,作为 Spring 默认的调度框架,Quartz 很容易与 Spring 集成实现灵活可配置的调度功能。

代码如下

1、

<bean id="schedulerFactory" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
    <property name="triggers"> 
      <list> 
         <ref local="createFileAndStuffTrigger"/>
      </list> 
    </property> 
  </bean>

2、

<bean id="createFileAndStuffTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
    <property name="startDelay"><value>5000</value></property>
    <property name="repeatCount"><value>-1</value></property>
    <property name="repeatInterval"><value>36000000</value></property>
    <property name="jobDetail"><ref bean="createFileAndStuffTask" /></property>
  </bean>

3、

<bean id="createFileAndStuffTask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
    <property name="targetObject"> 
      <ref bean="jobService" /> <!--目标Job--> 
    </property> 
    <property name="targetMethod"> 
      <value>doCreate</value> <!--目标方法--> 
    </property> 
    <property name="concurrent"> 
      <value>false</value> <!--定时任务串行--> 
    </property> 
  </bean>

4、

<bean id="jobService" class="com.task.CreateFileAndStuff"></bean>

5、

在CreateFileAndStuff.Java

/**
   * 开始生成
   */
  public synchronized void doCreate(){
    
    if ("yes".equals(ConfigUtil.createFileAndSuffSwitch())) {
      List<Map<String ,Object>> switchDList=this.getBusInfo();
      
      if(null==switchDList || 0==switchDList.size()) return;
      
      this.doCreateForLoopSwitch(switchDList,one_number);
    }
    
  }

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持小牛知识库。

 类似资料:
  • 本文向大家介绍Spring定时任务实现与配置(一),包括了Spring定时任务实现与配置(一)的使用技巧和注意事项,需要的朋友参考一下 朋友的项目中有点问题。他那边是Spring架构的,有一个比较简单的需要定时的任务执行。在了解了他的需求之后,于是提出了比较简单的Spring+quartz的实现方式。 注意本文只是讨论,在已搭建完毕的Spring工程下,完成最简单的定时任务。 第一步,要知道Spr

  • 本文向大家介绍Laravel实现定时任务的示例代码,包括了Laravel实现定时任务的示例代码的使用技巧和注意事项,需要的朋友参考一下 简介 定时任务是后端开发过程中一项十分常见的需求,常出现在数据统计、垃圾信息清理等场景中。Laravel 提供了一整套的定时任务工具,让我们只需要专注地完成逻辑,剩下的基础工作将由它来承担。 基本用法 生成命令 5.2 及之前的版本,此命令为 `php artis

  • 本文向大家介绍Spring boot基于ScheduledFuture实现定时任务,包括了Spring boot基于ScheduledFuture实现定时任务的使用技巧和注意事项,需要的朋友参考一下 一、 背景   接上一篇,完成存储过程的动态生成后,需要构建定时任务执行存储过程 二、 环境   1.此随笔内容基于spring boot项目   2.数据库为mysql 5.7.9版本   3.jd

  • 本文向大家介绍Java中Spring使用Quartz任务调度定时器,包括了Java中Spring使用Quartz任务调度定时器的使用技巧和注意事项,需要的朋友参考一下 Quartz 任务调度是什么 Quartz 是 OpenSymphony 开源组织在 Job scheduling 领域又一个开源项目,它可以与 J2EE 与 J2SE 应用程序相结合也可以单独使用。Quartz 是一个完全由 Ja

  • 本文向大家介绍Spring整合Quartz实现动态定时器的示例代码,包括了Spring整合Quartz实现动态定时器的示例代码的使用技巧和注意事项,需要的朋友参考一下 一、版本说明 spring3.1以下的版本必须使用quartz1.x系列,3.1以上的版本才支持quartz 2.x,不然会出错。 原因:spring对于quartz的支持实现,org.springframework.schedul

  • 本文向大家介绍详解Spring Boot 定时任务的实现方法,包括了详解Spring Boot 定时任务的实现方法的使用技巧和注意事项,需要的朋友参考一下 最近在用SpringBoot写一个关于定时项目的时候遇到一个问题,就是客户端访问服务器的结果实际上是每个一段时间发生一次变化,并且在服务器在每天的某个固定的时间点都要触发一次事件。 我们当然可以在遇到每一个请求时都重新计算结果,但是为了提高效率

  • 本文向大家介绍django-crontab实现服务端的定时任务的示例代码,包括了django-crontab实现服务端的定时任务的示例代码的使用技巧和注意事项,需要的朋友参考一下  安装 在Django项目中使用 settings.py 配置任务 官方demo 上述demo参数说明 参数1:定时 例如47 11 * * * 表示每天的11时47分执行 参数2:方法的python模块路径,如果执行d

  • 1. 前言 定时任务绝对是实际项目中的刚需。 我们想监控一个重点服务的运行状态,可以每隔 1 分钟调用下该服务的心跳接口,调用失败时即发出告警信息; 我们想每天凌晨的时候,将所有商品的库存置满,以免早上忘记添加库存影响销售; 我们想在每个周六的某个时段进行打折促销。 在以上的案例中,或者是指定时间间隔,或者是指定时间节点,按设定的任务进行某种操作,这就是定时任务了。 在 Spring Boot 中