实现定时任务有两种方式:

jobDetail -JobDetailBean

jobDetail -MethodInvokingJobDetailFactoryBean

这里呢先讲的是MethodInvokingJobDetailFactoryBean实现的

第一步需要定义作业类(定时任务处理的主要逻辑)

 1 package com.ninefbank.smallpay.admin.query.job;
 2
 3 import java.beans.BeanInfo;
 4 import java.beans.Introspector;
 5 import java.beans.PropertyDescriptor;
 6 import java.io.InputStream;
 7 import java.lang.reflect.Method;
 8 import java.math.BigDecimal;
 9 import java.util.Date;
10 import java.util.HashMap;
11 import java.util.Map;
12 import java.util.Properties;
13
14 import org.slf4j.Logger;
15 import org.slf4j.LoggerFactory;
16 import org.springframework.beans.factory.annotation.Autowired;
17 import org.springframework.stereotype.Service;
18
19
20 @Service("queryJob")
21 public class QueryJob {
22     @Autowired
23     private static IFyOperateService fyOperateService;
24     private static Logger logger = LoggerFactory.getLogger(QueryJob.class);
25
26     public void query() throws Exception{
27         logger.info("beginQuery=============="+new Date());
28 //         Class cls = FYGoldAcc.class;
29 //        for (Object obj : cls.getEnumConstants()) {
30 //            FYGoldAcc fyAccNo = (FYGoldAcc) obj;
31 //            goQuery(fyAccNo);
32 //        }
33
34     }
35 }

配置文件:

 1 <?xml version="1.0" encoding="UTF-8"?>
 2 <beans xmlns="http://www.springframework.org/schema/beans"
 3        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
 4        xmlns:tx="http://www.springframework.org/schema/tx"
 5        xsi:schemaLocation="http://www.springframework.org/schema/beans
 6                            http://www.springframework.org/schema/beans/spring-beans-3.0.xsd
 7                            http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-3.0.xsd">
 8
 9     <bean id="queryJob" class="com.ninefbank.smallpay.admin.query.job.QueryJob"/>
10
11     <bean id="springContextHolder" class="com.ninefbank.smallpay.common.util.SpringContextHolder" lazy-init="false"></bean>
12
13     <bean id="beginQuery" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
14         <property name="targetObject" ref="queryJob"/>
15         <property name="targetMethod" value="query"/>
16     </bean>
17      <bean id="beginQueryTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
18         <property name="jobDetail" ref="beginQuery"/>
19         <property name="startDelay" value="5000"/>
20         <property name="cronExpression" value="0 0/5 * * * ?"/>
21 <!--         <property name="cronExpression" value="0 30 5,10,15,16,22 * * ?"/> -->
22 <!--  <property name="cronExpression" value="0 30 10,15,16,17,18,19,20,21,22,23 * * ?"/> -->
23 <!--  <property name="cronExpression" value="0 0/2 * * * ?"/> -->
24     </bean>
25
26     <!--Spring触发工厂-->
27     <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
28         <property name="triggers">
29             <list>
30                 <ref bean="beginQueryTrigger"/>
31             </list>
32         </property>
33     </bean>
34 </beans>

配置文件解析:

<bean id="beginQuery" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="queryJob"/>
<property name="targetMethod" value="query"/>
</bean>

targetObject:指定包含任务执行体的Bean实例。(白话就是定时任务要执行的类)

targetMethod:指定将指定Bean实例的该方法包装成任务的执行体。(白话就是我要执行类里面的哪个方法)

<bean id="queryJob" class="com.ninefbank.smallpay.admin.query.job.QueryJob"/> 具体指定要执行的类是哪个

<bean id="beginQueryTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="beginQuery"/>
<property name="startDelay" value="5000"/>
<property name="cronExpression" value="0 0/5 * * * ?"/>
<!-- <property name="cronExpression" value="0 30 5,10,15,16,22 * * ?"/> -->
<!-- <property name="cronExpression" value="0 30 10,15,16,17,18,19,20,21,22,23 * * ?"/> -->
<!-- <property name="cronExpression" value="0 0/2 * * * ?"/> -->
</bean>

以上是触发器的定义,jobDetail是具体要执行哪个作业  startDelay是在服务器启动多长时间开始执行任务  cronExpression是定义什么时点执行定时任务

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="beginQueryTrigger"/>
</list>
</property>
</bean>

以上是定义了调度器

转载于:https://www.cnblogs.com/sailormoon/p/7007857.html

spring+quartz定时任务配置---MethodInvokingJobDetailFactoryBean相关推荐

  1. spring + Quartz定时任务配置

    <bean id="exportBatchFileTask" class="com.ydcn.pts.task.ExportBatchFileTask"& ...

  2. @scheduled注解配置时间_探究 Spring 的定时任务配置

    作者 | 郭朝兴 责编 | Elle 最近在项目开发中进行了一些Spring定时任务的开发工作,在开发过程中对Spring定时任务的配置方式进行了一些研究,现在对各种配置方式进行一个总结.Schedu ...

  3. 探究 Spring 的定时任务配置

    作者 | 郭朝兴 责编 | Elle 出品 | CSDN(ID:CSDNnews) 最近在项目开发中进行了一些Spring定时任务的开发工作,在开发过程中对Spring定时任务的配置方式进行了一些研究 ...

  4. spring+Quartz定时任务

    2019独角兽企业重金招聘Python工程师标准>>> 1.spring定时任务可以使用JDK的Timer类库来做任务调度,不过不可以像cron服务那样可以指定具体年.月.日的时间. ...

  5. java jobdetail_spring+quartz定时任务配置---JobDetailBean

    之前有写过通过MethodInvokingJobDetailFactoryBean来实现定时任务 还有一种方式是JobDetailBean来实现定时任务 下面来看怎么配置 1.application. ...

  6. Quartz——Spring定时任务配置

    刚来公司,听说用到了很多的定时任务,于是自己偷偷实现了一个小例子,感觉还不错.万一哪天交给我一个定时任务也好直接上手敲代码呀. 配置步骤 Spring的定时任务配置分为三个步骤: 1.定义任务 2.任 ...

  7. spring+quartz定时任务启动服务后没有马上执行

    写了一个spring+quartz的定时任务,但是发现tomcat正常启动后并没有马上执行.网上也没找到能解决的办法,只能自己慢慢试.此文章是自己作为笔记用的,仅供参考.本人菜鸟,文中很多用词可能不当 ...

  8. SpringBoot2.0新特性 - Quartz自动化配置集成

    https://www.jianshu.com/p/056281e057b3 在新版本的SpringBoot2.0发布后,急迫尝鲜的我将相关的项目已经更换为最新版本,在SpringBoot源码GitH ...

  9. Springboot 使用quartz 定时任务 增删改查

    前段时间公司项目用到了 定时任务 所以写了一篇定时任务的文章 ,浏览量还不错 , Springboot 整合定时任务 ) 所以就准备写第二篇, 如果你是一名Java工程师,你也可以会看到如下的页面 , ...

最新文章

  1. 基于spark mllib_Spark高级分析指南 | 机器学习和分析流程详解(下)
  2. Laravel Auth 自定义user 模型目录结构
  3. Install Docker Mac OS X
  4. 安卓自动滑屏脚本_【按键精灵】开发抖音全自动养号脚本!可实现自动滑屏
  5. IBM最新调研表明:大数据等于大回报
  6. 基于Java的贪吃蛇游戏设计(含免费可用源代码)
  7. centos7轻松搭建文件服务器
  8. 计算机多系统启动光盘制作,制作启动光盘,详细教您如何制作光盘启动盘
  9. 报警触发音频和音频素材网址
  10. 用c语言求20以内的勾股数,C语言求勾股数代码及解析
  11. RST报文以及产生场景
  12. 中国情绪识别与分析市场深度研究分析报告
  13. ai怎么做波浪形的圆_ai如何绘制波纹的边?AI圆形的波纹边怎么制作? 看完你学会了么...
  14. 空间两条直线段的最短距离及最近点计算
  15. Android dumpsys常用命令
  16. 优达学城,基于激光的卡尔曼滤波器的C++实现。
  17. Python文档算法整理
  18. 如何理解反射信号淹没在上升沿中
  19. 如何访问西门子S1500PLC的IO系统
  20. 以太坊的「帝国模式」

热门文章

  1. 2017c 语言程序设计,C语言程序设计第一次作业(2017.10.10完成)
  2. 信捷plc485通信上位机_基于Snap7实现与西门子PLC通信
  3. python编程环境要求_python公开课|我们需要优秀Python编程环境的要求居然是这些...
  4. centos7查看当前系统时间、_CentOS7.4.1708查看系统相关信息及系统的初步优化
  5. wxpython 优秀的界面_wxPython 界面设计利器:wxFormBuilder 介绍
  6. java 资料大全-转
  7. [codevs 1789] 最大获利(2006年NOI全国竞赛)
  8. arXiv 2019 《DCA: Diversified Co-Attention towards Informative Live Video Commenting》论文笔记
  9. 魔兽世界美服部落人数最多服务器,魔兽世界全球服务器最新人口普查,其实并没有你想象的那么少...
  10. c# forbidden.html,c# – 如何使用Forbidden状态web api返回ModelState