spring+quartz定时任务配置---MethodInvokingJobDetailFactoryBean
实现定时任务有两种方式:
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相关推荐
- spring + Quartz定时任务配置
<bean id="exportBatchFileTask" class="com.ydcn.pts.task.ExportBatchFileTask"& ...
- @scheduled注解配置时间_探究 Spring 的定时任务配置
作者 | 郭朝兴 责编 | Elle 最近在项目开发中进行了一些Spring定时任务的开发工作,在开发过程中对Spring定时任务的配置方式进行了一些研究,现在对各种配置方式进行一个总结.Schedu ...
- 探究 Spring 的定时任务配置
作者 | 郭朝兴 责编 | Elle 出品 | CSDN(ID:CSDNnews) 最近在项目开发中进行了一些Spring定时任务的开发工作,在开发过程中对Spring定时任务的配置方式进行了一些研究 ...
- spring+Quartz定时任务
2019独角兽企业重金招聘Python工程师标准>>> 1.spring定时任务可以使用JDK的Timer类库来做任务调度,不过不可以像cron服务那样可以指定具体年.月.日的时间. ...
- java jobdetail_spring+quartz定时任务配置---JobDetailBean
之前有写过通过MethodInvokingJobDetailFactoryBean来实现定时任务 还有一种方式是JobDetailBean来实现定时任务 下面来看怎么配置 1.application. ...
- Quartz——Spring定时任务配置
刚来公司,听说用到了很多的定时任务,于是自己偷偷实现了一个小例子,感觉还不错.万一哪天交给我一个定时任务也好直接上手敲代码呀. 配置步骤 Spring的定时任务配置分为三个步骤: 1.定义任务 2.任 ...
- spring+quartz定时任务启动服务后没有马上执行
写了一个spring+quartz的定时任务,但是发现tomcat正常启动后并没有马上执行.网上也没找到能解决的办法,只能自己慢慢试.此文章是自己作为笔记用的,仅供参考.本人菜鸟,文中很多用词可能不当 ...
- SpringBoot2.0新特性 - Quartz自动化配置集成
https://www.jianshu.com/p/056281e057b3 在新版本的SpringBoot2.0发布后,急迫尝鲜的我将相关的项目已经更换为最新版本,在SpringBoot源码GitH ...
- Springboot 使用quartz 定时任务 增删改查
前段时间公司项目用到了 定时任务 所以写了一篇定时任务的文章 ,浏览量还不错 , Springboot 整合定时任务 ) 所以就准备写第二篇, 如果你是一名Java工程师,你也可以会看到如下的页面 , ...
最新文章
- 基于spark mllib_Spark高级分析指南 | 机器学习和分析流程详解(下)
- Laravel Auth 自定义user 模型目录结构
- Install Docker Mac OS X
- 安卓自动滑屏脚本_【按键精灵】开发抖音全自动养号脚本!可实现自动滑屏
- IBM最新调研表明:大数据等于大回报
- 基于Java的贪吃蛇游戏设计(含免费可用源代码)
- centos7轻松搭建文件服务器
- 计算机多系统启动光盘制作,制作启动光盘,详细教您如何制作光盘启动盘
- 报警触发音频和音频素材网址
- 用c语言求20以内的勾股数,C语言求勾股数代码及解析
- RST报文以及产生场景
- 中国情绪识别与分析市场深度研究分析报告
- ai怎么做波浪形的圆_ai如何绘制波纹的边?AI圆形的波纹边怎么制作? 看完你学会了么...
- 空间两条直线段的最短距离及最近点计算
- Android dumpsys常用命令
- 优达学城,基于激光的卡尔曼滤波器的C++实现。
- Python文档算法整理
- 如何理解反射信号淹没在上升沿中
- 如何访问西门子S1500PLC的IO系统
- 以太坊的「帝国模式」
热门文章
- 2017c 语言程序设计,C语言程序设计第一次作业(2017.10.10完成)
- 信捷plc485通信上位机_基于Snap7实现与西门子PLC通信
- python编程环境要求_python公开课|我们需要优秀Python编程环境的要求居然是这些...
- centos7查看当前系统时间、_CentOS7.4.1708查看系统相关信息及系统的初步优化
- wxpython 优秀的界面_wxPython 界面设计利器:wxFormBuilder 介绍
- java 资料大全-转
- [codevs 1789] 最大获利(2006年NOI全国竞赛)
- arXiv 2019 《DCA: Diversified Co-Attention towards Informative Live Video Commenting》论文笔记
- 魔兽世界美服部落人数最多服务器,魔兽世界全球服务器最新人口普查,其实并没有你想象的那么少...
- c# forbidden.html,c# – 如何使用Forbidden状态web api返回ModelState