spring和Quartz 集成

集成Spring+ quartz 分为四步

第一步 POM.XML 添加spring+quartz依赖

 <!-- Spring start-->

        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-beans</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-core</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-aop</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context</artifactId>
        </dependency>
        <!-- Spring 和 quartz 集成需要的jar 包 spring-context-support spring-tx-->
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-context-support</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework</groupId>
            <artifactId>spring-tx</artifactId>
        </dependency>
        <!-- Spring stop-->
        <!-- quartz 定时任务开始-->
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.1</version>
            <exclusions>
                <exclusion>
                    <artifactId>slf4j-api</artifactId>
                    <groupId>org.slf4j</groupId>
                </exclusion>
                <exclusion>
                    <groupId>c3p0</groupId>
                    <artifactId>c3p0</artifactId>
                </exclusion>
            </exclusions>
        </dependency>
        <dependency>
            <groupId>c3p0</groupId>
            <artifactId>c3p0</artifactId>
        </dependency>
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz-jobs</artifactId>
            <version>2.2.1</version>
        </dependency>
        <!-- quartz 定时任务结束-->

第二步 定义Spirng和quartz整合的Job 有两个类型的Job:MethodInvokingJobDetailFactoryBean 和 JobDetailFactoryBean

JobDetailFactoryBean

下面配置一个job,继承QuartzJobBean类,调度时候将回调executeInternal方法。我们的调度逻辑写在这个方法里面。jobDataMap 参数提供向jobBean传递参数的功能。

<!-- 定义作业任务Bean JobDetailFactoryBean 来管理作业任务;
        当你需要传递数据给Job 时候使用这个JobBean.-->
        <bean id="jobDetailFactoryBeanExample" class="org.springframework.scheduling.quartz.JobDetailFactoryBean">
                <!--
                    参考源码,我们可以看到属性jobClass为Class类型,所以不能使用ref来引用一个bean,否则就会因为不能将bean转换为Class类型而出现异常。
                    <property name="jobClass" ref="simpleJob"/>
                    必须使用value对jobClass赋值。
                    <property name="jobClass" value="common.quartz.spring.task002.SimpleJob"/>
                -->
                <property name="jobClass" value="common.quartz.spring.task002.SimpleJob"/>
                <!-- 这里设置的jobDataAsMap可以传递一些参数给作业任务 -->
                <property name="jobDataAsMap">
                        <map>
                                <
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值