Quarz写定时任务

来源:互联网 发布:网络的世界的英文单词 编辑:程序博客网 时间:2024/06/03 23:35

1. 添加meven依赖

<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.3.RELEASE</version></dependency>

2. 创建Job类

创建一个java类,创建一个普通方法,作为任务处理方法

public class MyJob {    @Autowired    private CustomerService mCustomerService;    public  void show(){        System.out.println("hia~hia~hia");        List<BaseDict> dictByCode = mCustomerService.findDictByCode("002");        System.out.println("dictByCode:"+dictByCode);    }}

3. 配置Job到spring容器

<!--配置Job到spring容器--><bean id="schedule1" class="com.kris.schedule.MyJob"></bean>

4. 将Job类配置JobDetail

<!--将Job类配置JobDetail--><bean id="SpringQtzJobMethod"      class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">    <property name="targetObject">        <ref bean="schedule1" />    </property>    <property name="targetMethod">  <!-- 要执行的方法名称 -->        <value>show</value>    </property></bean>

5. 配置调度触发器

<!--配置调度触发器--><bean id="cronTriggerFactoryBean" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean ">    <property name="jobDetail" ref="SpringQtzJobMethod"></property>    <!--每隔5秒执行一次-->    <property name="cronExpression" value="0/5 * * * * ?"></property></bean>

6. 配置调度工厂

<!--配置调度工厂--><bean id="SpringJobSchedulerFactoryBean"      class="org.springframework.scheduling.quartz.SchedulerFactoryBean">    <property name="triggers">        <list>            <ref bean="cronTriggerFactoryBean" />        </list>    </property></bean>

7. 启动即可运行指定方法

注:
1. 调度工程可以配置多个调度触发器
2. Cron 表达式不是特别了解的话,在线有很多工具可以生成

8. 应用场景

一般根据业务用来执行定时任务,比如:定时去查询并更新应用宝YSDK订单状态

原创粉丝点击