quartz示例

一 quartz使用

quartz做为java语音库一个优秀的定时任务,既支持单机服务,又支持分布式集群服务。

本文只记录quartz的使用,后续会增加quartz执行原理

1.定义执行类


public class QuartzJobTest{

    @PostConstruct

    public voidinitJob() {

        System.out.println("Quartz postconstruct");

    }

public QuartzJobTest() {

}

    public void  execute() {

        System.out.println("Quartz execute");

    }

}

2.集成spring

<!--agent 任务类-->
    <bean id="quartzJobTest"
          class="com.test.QuartzJobTest">

    </bean>

    <!--agent任务描述-->
    <bean id="quartzJobDetail"
          class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <property name="targetObject" ref="quartzJobTest"/>
        <property name="targetMethod" value="execute"/>
    </bean>

    <!--触发器-->
    <bean id="cronTrigger"
          class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <property name="jobDetail" ref="quartzJobDetail"/>
        <!--每两分钟执行一次-->
        <property name="cronExpression" value="* 0/2 * * * ?"/>
    </bean>

    <!--总管理容器-->
    <bean id="scheduler"
          class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <property name="triggers">
            <list>
                <ref bean="cronTrigger"/>
            </list>
        </property>
    </bean>

quartzJob只会加载一次,可以从Job的PostConstruct执行结果来确认,只有一次

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 134,991评论 19 139
  • 《分布式任务调度平台XXL-JOB》 一、简介 1.1 概述 XXL-JOB是一个轻量级分布式任务调度框架,其核心...
    许雪里阅读 16,836评论 3 29
  • Spring Boot 参考指南 介绍 转载自:https://www.gitbook.com/book/qbgb...
    毛宇鹏阅读 46,971评论 6 342
  • scheduler定时调度系统是大多行业项目都需要的,传统的spring-job模式,个人感觉已经out了,因为存...
    安琪拉_4b7e阅读 2,866评论 4 6
  • 我的朋友很少,这么多年下来,保持联系的朋友更少,花花就是已经失联的一个。上一次聊天是前年的事情了,最近一次互动,是...
    八风动阅读 322评论 1 3