Quartz框架的使用(定时任务)

一、下载(http://quartz-scheduler.org)

       Quartz框架的核心对象:

       Scheduler  --  核心调度器

       Job  --  任务

       JobDetail  --  任务描述

       Trigger  --   触发器

        各类之间的关系
        
        job  被  jobDetail 包装   ,jobDetail 被 Trigger包装  ,最后交给Scheduler  。
                

二、Quartz整合spring

        使用方法: 1、把Quartz的jar包添加到工程中

                        <dependency>
                            <groupId>org.quartz-scheduler</groupId>
                            <artifactId>quartz</artifactId>
                            <version>2.2.2</version>
                        </dependency>
                        <dependency>
                            <groupId>org.springframework</groupId>
                            <artifactId>spring-context-support</artifactId>
                            <version>4.1.4.RELEASE</version>
                        </dependency>

                2、写一个job类,是一个普通的java类
                
                        public class OrderJob{
                            //执行任务的方法
                            public void execute(){
                                System.out.println("任务已经执行。。。。。。");
                            }
                        
                        }
                        
                
                3、spring配置文件中,配置一个jobDetail,需要引用job bean
                        
                        <!--配置job类-->
                        <bean id=" orderJob" class="OrderJob的全限定名"></bean>
                        
                        <!--配置jobDetail-->
                        <bean id=" SpringQtzJobMethod" class="org.springframework.scheduling.MethodInvokingJobDetailFactoryBean">
                            <property name="targetObject">
                                <ref bean=" orderJob"></ref>   
                            </property>
                            
                            <property name="targetMethod">    <!--要执行的方法名称-->
                                <value>execute</value>
                            </property>
                        </bean>

                4、在spring配置文件中配置一个Trigger,指定任务触发的时机(需要使用cron表达式,需要jobDetail的引用)

                        <!--配置一个trigger-->
                        <bean id=" cronTriggerFactoryBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
                            <property name="jobDetail" ref=" SpringQtzJobMethod"></property>
                            <!--cron表达式  每5秒执行一次-->
                            <property name="cronExpression" value="0/5 * * * * ?"></property>
                        </bean>
                    
                 5、在spring配置文件中配置一个scheduler,在此list中可以配置多个trigger (上面的四个步骤是一个整体,可以配置多个,第五步只配置一个)  
  
                     
                        <!--配置调度框架-->
                        <bean id="SpringJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.schedulerFactoryBean">
                            <property name="triggers">
                                <list>
                                    <ref bean=" cronTriggerFactoryBean"/>
                                </list>
                            </property>
                        </bean>


附:cron表达式(网上有生成器)

0/5 * * * * ?

Seconds  Minutes  Hours Day-of-Month  Month  Day-of-Week Year(可选字段)

                
               
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值