前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Quartz组件使用一 原

Quartz组件使用一 原

作者头像
南郭先生
发布2018-08-14 15:38:03
2550
发布2018-08-14 15:38:03
举报
文章被收录于专栏:Google DartGoogle Dart

第一步:定义执行类

代码语言:javascript
复制
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中配置执行类信息

代码语言:javascript
复制
<!-- 此处表示要执行任务控制类在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>

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

代码语言:javascript
复制
<!-- 描述间隔触发控制 -->
<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>

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

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

代码语言:javascript
复制
<!-- 定义调度工厂类配置 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
    <property name="triggers">
       <list>
        <!-- <ref bean="simpleTrigger"/> --> 
        <ref bean="cronTrigger"/>
       </list>
    </property>
</bean>
本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017/08/12 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档