我是靠谱客的博主 勤恳芒果,最近开发中收集的这篇文章主要介绍java读取quartz脚本_Java Spring中Quartz调度器详解及实例,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

一、Quartz的特点

* 按作业类的继承方式来分,主要有以下两种:

1.作业类继承org.springframework.scheduling.quartz.QuartzJobBean类的方式

2.作业类不继承org.springframework.scheduling.quartz.QuartzJobBean类的方式

注:个人比较推崇第二种,因为这种方式下的作业类仍然是POJO。

* 按任务调度的触发时机来分,主要有以下两种:

1.每隔指定时间则触发一次,对应的调度器为org.springframework.scheduling.quartz.SimpleTriggerBean

2.每到指定时间则触发一次,对应的调度器为org.springframework.scheduling.quartz.CronTriggerBean

注:这两种触发方式均可以跟两种作业继承方式相互组合来使用。

下面简单演示一下在spring对Quartz的用法。

二、作业类继承org.springframework.scheduling.quartz.QuartzJobBean类,每到指定时间则触发一次

1.编写作业类

package bean.jobDetailBean;

import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

import org.springframework.scheduling.quartz.QuartzJobBean;

public class Job1 extends QuartzJobBean {

private int timeout;

private static int i = 0;

//调度工厂实例化后,经过timeout时间开始执行调度

public void setTimeout(int timeout) {

this.timeout = timeout;

}

/**

* 要调度的具体任务

*/

@Override

protected void executeInternal(JobExecutionContext context)

throws JobExecutionException {

System.out.println("继承QuartzJobBean的方式-调度" + ++i + "进行中...");

}

}

2.配置作业类

3.配置作业调度的触发方式

4.配置调度工厂

5.开启调度

package test;

import org.springframework.beans.factory.BeanFactory;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class ScheduleTest {

public static void main(String[] args){

BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext*.xml");

}

}

三、作业类不继承org.springframework.scheduling.quartz.QuartzJobBean类,每隔指定时间则触发一次

1.编写作业类

package bean.jobDetailBean;

public class Job2 {

private static int i = 0;

public void doJob2() {

System.out.println("不继承QuartzJobBean方式-调度" + ++i + "进行中...");

}

}

2.配置作业类

class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

3.配置作业调度的触发方式

4.配置调度工厂

5.开启调度

package test;

import org.springframework.beans.factory.BeanFactory;

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class ScheduleTest {

public static void main(String[] args){

BeanFactory factory = new ClassPathXmlApplicationContext("applicationContext*.xml");

}

}

简单说明spring自带调度器的例子。

感谢阅读,希望能帮助到大家,谢谢大家对本站的支持!

最后

以上就是勤恳芒果为你收集整理的java读取quartz脚本_Java Spring中Quartz调度器详解及实例的全部内容,希望文章能够帮你解决java读取quartz脚本_Java Spring中Quartz调度器详解及实例所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(41)

评论列表共有 0 条评论

立即
投稿
返回
顶部