zoukankan      html  css  js  c++  java
  • spring集成quartz scheduler

    创建项目

    有两种创建quart配置作业

    1.使用MethodInvokingJobDetailFactoryBean 

    Quartz Scheduler 配置作业(MethodInvokingJobDetailFactoryBean 

    1.这个bean有两个属性分别是

    targetObject 指向调用方法的bean,自己定义

    targetMethod这个bean的方法

    Quartz Scheduler 配置作业(JobDetailFactoryBean)

    1.实现定义一个类,继承QuartzJobBean,写一个bean,这个bean属于业务方法

    然后把业务方法bean申明成成员属性,重写executeInternal业务方法,和bean的方法,this.bean的方法都可以执行

    jobDataMap 在继承QuartzJobBean的类里不是申明了bean业务吗,可以多个在配置xml时是一个map,弄进去,就管

    jobClass 把继承QuartzJobBean的全了名写上

    durability true或false

    配置 Quartz 调度时要使用到的触发器(SimpleTriggerFactoryBean)

    这个bean的属性

    jobDetail 注入 (MethodInvokingJobDetailFactoryBean )

    startDelay 设置触发时间 (毫秒)

    repeatInterval 频率 (毫秒)

    配置创建定配置 Quartz 调度器的 SchedulerFactoryBean

    SchedulerFactoryBean 将 jobDetails 和 triggers 整合在一起以配置 Quartz 调度器。

    这个bean的属性

    jobDetails (将所有的Quartz Scheduler 配置作业的bean都配置进来,里面是一个list属性集合)

    triggers(将所有配置 Quartz 调度时要使用到的触发器 的bean整合进去,里面是一个list集合

    <?xml version="1.0" encoding="UTF-8"?>
    <beans xmlns="http://www.springframework.org/schema/beans"
        xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"
        xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd
            http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.2.xsd">
    
        <context:component-scan base-package="com.huawei.entity" />
    
        <!-- 1.配置quartz 作用调用业务方法-->
        <bean id="simpleJobDetail"
            class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
            <property name="targetObject" ref="myBean" />
            <property name="targetMethod" value="printMessage" />
        </bean>
    
    <!--     配置多少次调用业务方法  有规律的配置,省略-->
        <bean id="simpleTrigger"
            class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
            <property name="jobDetail" ref="simpleJobDetail" />
            <property name="startDelay" value="1000" />
            <property name="repeatInterval" value="2000" />
        </bean>
    
    <!--     将所有配置业务方法和触发时机的bean组成集合 -->
        <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
            <property name="jobDetails">
                <list>
                    <ref bean="simpleJobDetail"  />
                </list>
            </property>
            <property name="triggers">
                <list>
                    <ref bean="simpleTrigger" /> 
                </list>
            </property>
        </bean>
    </beans>
    package com.huawei.entity;
    
    import org.springframework.stereotype.Component;
    
    @Component
    public class MyBean {
         public void printMessage() {  
                System.out.println("I am MyBean. I am called by MethodInvokingJobDetailFactoryBean using SimpleTriggerFactoryBean");  
            }  
    }
  • 相关阅读:
    flume采集log4j日志到kafka
    解决spring 事务管理默认不支持SQLException等运行时异常
    基于黑名单的xss过滤器
    VMware创建Linux虚拟机并安装CentOS(三)
    dubbo 常见错误
    Dubbo与Zookeeper、SpringMVC整合和使用(负载均衡、容错)
    zookeeper工作原理、安装配置、工具命令简介
    VMware创建Linux虚拟机并安装CentOS(二)
    NSPredicate谓词
    IOS网络请求之NSURLSession使用详解
  • 原文地址:https://www.cnblogs.com/javaweb2/p/6241989.html
Copyright © 2011-2022 走看看