文档章节

Quartz组件使用一

scooplol
 scooplol
发布于 2017/08/12 10:44
字数 290
阅读 38
收藏 0

第一步:定义执行类

package group.esperanto.util;

import java.text.SimpleDateFormat;
import java.util.Date;

import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
import org.springframework.scheduling.quartz.QuartzJobBean;

public class MyTask1 extends QuartzJobBean {
    @Override
    protected void executeInternal(JobExecutionContext context) throws JobExecutionException {
        System.out.println("当前日期:  " + new SimpleDateFormat("yyyy-MM-dd HH:mm:ss").format(new Date()));
    }

}

第二步:在Spring中配置执行类信息

<!-- 此处表示要执行任务控制类在Spring中配置 并且告诉容器,由谁来执行 -->
        <bean id="quartzFactory1" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
             <!-- 当前可执行任务的类,这个类是QuartzJobBean的子类 -->
           <property name="jobClass" value="group.esperant.util.MyTask1" />
             <!-- 配置任务执行时配置的若干信息 -->
             <property name="jobDataMap">
                <map>
                    <!-- 立即执行,不延迟 -->
                   <entry key="timeout" value="0"/>
                </map>
             </property>
        </bean>

第三步:定义间隔触发或定时触发

<!-- 描述间隔触发控制 -->
<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
   <!-- 定义间隔触发程序类 -->
  <property name="jobDetail" ref="quartzFactory1"/>
    <!-- 触发延迟 -->
  <property name="startDelay" value="0"/>
    <!-- 间隔时间 -->
  <property name="repeatInterval" value="2000"/>
</bean>

<!-- 定义定时触发 -->
<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
   <!-- 定义定时触发类 -->
   <property name="jobDetail" ref="quartzFactory1"/>
   <!-- 定义CRON表达式 , 每秒触发 -->
   <property name="cronExpression" value="* * * * * ?"/>
</bean>

      

第四步: 定义配置调度工厂类

<!-- 定义调度工厂类配置 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
       <list>
        <!-- <ref bean="simpleTrigger"/> --> 
        <ref bean="cronTrigger"/>
       </list>
    </property>
</bean>

 

© 著作权归作者所有

共有 人打赏支持
scooplol
粉丝 13
博文 103
码字总数 205785
作品 0
南充
程序员
私信 提问
Quartz2 定时器 《一》(概述)

Quartz2 说白了,就是个功能比较完善的定时器,可以通过指定的时间执行指定的任务。 应用范围 a.比如让商城的活动(对象)在指定的时间(定时)从发布变为激活 b.比如平台每天2:00去给用户发...

流年绘
2015/12/25
31
0
jfinal中对分布式事务的支持

@JFinal 你好,想跟你请教个问题:在实际项目过程中,用到了quartz组件。为了保证quartz组件中任务额事务与service层事务在同一事务控制中,使用配置文件将quartz组件的事务控制交由应用服务...

qiran
2015/06/24
1K
1
基础才是重中之重~关于ThreadStatic和Quartz的一点渊源

ThreadStatic ThreadStatic是C#里的一个特性,它可以让你的字段在一个线程里有效,但你不能控制这个字段在何时被回收,即如果声明一个int32的字段为ThreadStatic,然后你为它赋值时为100,那么...

mcy247
2017/12/05
0
0
初识Quartz (一)

首先大概的了解一下Quartz。 一:首先进入官网去看看什么是quartz。http://www.quartz-scheduler.org/ Quartz是一个功能丰富的开源作业调度库,可以集成到几乎任何Java应用程序中 - 从最小的...

陈嘻嘻哈哈
2017/08/18
0
0
springboot 整合quartz (一):基础使用

---layout: blogistop: truetitle: "springboot 整合quartz (一):基础使用"date: 2018-10-09category: springboottags: springboot quartz --- 介绍 Quartz是一个开源的框架,它完全由写成。......

开心的哈士奇
2018/10/11
0
0

没有更多内容

加载失败,请刷新页面

加载更多

Spring Cloud搭建微服务架构----流量回放

前言 系统微服务化后,传统的自测/测试方式都变得比较困难: 依赖的服务可能不稳定。 服务无法提供期望的响应数据。 缺少场景构造标准。 随着整体业务越来越复杂,微服务依赖的越来越多,测试...

春哥大魔王的博客
27分钟前
3
0
记一次springboot模块配置问题导致读取Apollo配置中心配置文件始终错误的问题

现在正在做的一个项目采用的是微服务,主框架是spring cloud,配置中心用的是携程的Apollo。 项目下有多个服务,在测试服务器上启动用户服务的时候发现在eureka中心另一个服务被启动了,尝试...

zcqshine
28分钟前
6
0
流处理和批处理框架的异同

分布式流处理需求日益增加,包括支付交易、社交网络、物联网(IOT)、系统监控等。业界对流处理已经有几种适用的框架来解决,下面我们来比较各流处理框架的相同点以及区别。 分布式流处理是对...

hblt-j
31分钟前
4
0
spring cloud 面试题

什么是springboot 用来简化spring应用的初始搭建以及开发过程 使用特定的方式来进行配置(properties或yml文件) 创建独立的spring引用程序 main方法运行 嵌入的Tomcat 无需部署war文件 简化...

狼王黄师傅
33分钟前
4
0
前嗅ForeSpider教程:采集黄页88

以黄页88为例,采集当前列表页新闻的正文数据: 第一步:新建任务 ①点击左上角“加号”新建任务,如图1: 【图1】 ②在弹窗里填写采集地址,任务名称,如图2: 【图2】 ③点击下一步,选择进...

forespider
37分钟前
2
0

没有更多内容

加载失败,请刷新页面

加载更多

返回顶部
顶部