Quartz框架----定时功能

Quartz框架   进行定时邮件发送等

一.Quartz框架maven地址

        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz</artifactId>
            <version>2.2.1</version>
        </dependency>
        <dependency>
            <groupId>org.quartz-scheduler</groupId>
            <artifactId>quartz-jobs</artifactId>
            <version>2.2.1</version>
        </dependency>

 二.入门案例-----Quartz框架和spring的整合

第一步:创建maven工程

第二步:自定义任务--须要执行的方法

第三步:提供spring配置文件,注册自定义的任务

第四步:在spring配置文件中提供一个jobDetail,负责通过反射调用自定义类中的方法

第五步:在spring配置文件中注册一个触发器,指定出发时间

第六步:在spring配置文件中提供一个调度工厂负责统一,调度任务

第七步:创建spring工厂,执行任务

<!-- 注册代理对象 -->
    <jaxws:client id="crmClient" address="http://localhost:8081/crm/webservice/service"
        serviceClass="com.itheima.crm.service.CustomerService"></jaxws:client>
        
        <!-- 注册自定义任务对象 -->
    <bean id="myJob" class="com.itheima.bos.service.jobs.MailJob"></bean>
    
    <!-- 配置JobDetail,用于通过反射调用myJob -->
    <bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
        <!-- 注入目标对象 -->
        <property name="targetObject" ref="myJob"/>
        <!-- 注入目标方法 -->
        <property name="targetMethod" value="sendMsg"/>
    </bean>
    
    <!-- 配置触发器,指定任务的触发时间 -->
    <bean id="myTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
        <!-- 注入jobDetail -->
        <property name="jobDetail" ref="jobDetail"/>
        <!-- 通过表达式指定任务触发的时间 -->
        <property name="cronExpression">
            <value>0/10 * * * * ? 2020</value>
        </property>
    </bean>
    
    <!-- 调度工厂 -->
    <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
        <!-- 注入触发器,可以有多个 -->
        <property name="triggers">
            <list>
                <ref bean="myTrigger"/>
            </list>
        </property>
    </bean>    

 cron表达式:

生成网址:cron.qqe2.com

posted @ 2017-07-03 20:07  sunoom  阅读(420)  评论(0)    收藏  举报