Spring 集成Quartz Scheduler 定时调度任务 Example
来源:互联网 发布:武汉java培训机构面授 编辑:程序博客网 时间:2024/04/28 23:25
<---------spring-quartz.xml------------------------------------------------------------------------------------------------------------------------------------------------------------------------><?xml version="1.0" encoding="UTF-8"?><beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:context="http://www.springframework.org/schema/context"xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-4.1.xsd"><context:component-scan base-package="test.spring.quartz" /><!--配置 task.printInfo 将要执行的业务执行逻辑 --><bean id="simpleJobDetail"class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"><property name="targetObject" ref="firstTask" /><property name="targetMethod" value="printInfo" /></bean><!-- 配置作业类complexJobDetail --><bean name="complexJobDetail"class="org.springframework.scheduling.quartz.JobDetailFactoryBean"><!-- jobClass属性即我们在java代码中定义的任务实现类 --><property name="jobClass" value="test.spring.quartz.ScheduledJob" /><!-- jobDataAsMap属性即该任务类中需要注入的属性值 --><property name="jobDataMap"><map><entry key="secondTask" value-ref="secondTask" /></map></property><!-- 任务完成之后是否依然保留到数据库,默认false --><property name="durability" value="true" /><!-- 任务的名称 --><!-- <property name="name"></property> --><!-- 任务所在组 --><!-- <property name="group"></property> --></bean><!-- 简单的触发器,通过它我们可以定义触发的时间,并选择性的设定重复的次数和间隔时间 | 只支持按照一定频度调用任务,如每隔2秒运行一次 --><bean id="simpleTrigger"class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean"><property name="jobDetail" ref="simpleJobDetail" /><property name="startDelay" value="1000" /> <!-- 调度工厂实例化后,经过1秒开始执行调度 --><property name="repeatInterval" value="2000" /> <!-- 每2秒调度一次 --></bean><!-- 这个触发器的功能非常强大,而且非常灵活,需要掌握有关的Cron表达式知识 到指定时间运行一次 --><bean id="cronTrigger"class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"><!-- 触发器名称 --><!-- <property name="name"></property> --><!-- 触发器组的名称 --><!-- <property name="group"></property> --><property name="jobDetail" ref="complexJobDetail" /><!-- 规则表达式 --><property name="cronExpression" value="0/5 * * ? * SAT-SUN" /><!--每5秒运行一次 --><!-- 开始时间,默认当前时间 --><!-- <property name="startTime"></property> --><!-- 延迟时间 --><!-- <property name="startDelay"></property> --><!-- 时区 --><!-- <property name="timeZone"></property> --></bean><!-- 配置调度工厂 --><bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"><property name="jobDetails"><list><ref bean="simpleJobDetail" /><ref bean="complexJobDetail" /></list></property><property name="triggers"><list><ref bean="simpleTrigger" /><ref bean="cronTrigger" /></list></property></bean></beans>
/** * @Title: MyBean.java * @Package test.spring.quartz.scheduling * @Description: * @author L* @date 2015年10月11日 上午9:34:15 * @version V1.0 */package test.spring.quartz.scheduling;import org.springframework.stereotype.Component;/** * @ClassName: outTask * @Description: * @author L * @date 2015年10月11日 上午9:34:15 * */@Component("firstTask")public class FirstTask {public void printInfo() {System.out.println("隔2秒运行一次");}}
/** * @Title: AnotherBean.java * @Package test.spring.quartz.scheduling * @Description: * @author L* @date 2015年10月11日 上午9:31:14 * @version V1.0 */package test.spring.quartz.scheduling;import org.springframework.context.support.AbstractApplicationContext;import org.springframework.context.support.ClassPathXmlApplicationContext;import org.springframework.stereotype.Component;@Component("secondTask")public class SecondTask {/*** @Title: printAnotherMessage* @Description:*/public void printSecondTaskInfo() {System.out.println("每5秒运行一次");}@SuppressWarnings("unused")public static void main(String args[]) {@SuppressWarnings("resource")AbstractApplicationContext context = new ClassPathXmlApplicationContext("quartz-context.xml");}}
/** * @Title: ScheduledJob.java * @Package test.spring.quartz * @Description: * @author L* @date 2015年10月11日 上午9:27:11 * @version V1.0 */package test.spring.quartz;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import org.springframework.scheduling.quartz.QuartzJobBean;import test.spring.quartz.scheduling.SecondTask;public class ScheduledJob extends QuartzJobBean {private SecondTask secondTask;@Overrideprotected void executeInternal(JobExecutionContext context) throws JobExecutionException {secondTask.printSecondTaskInfo();// 要调度的具体任务}/*** @param secondTask* the secondTask to set*/public void setSecondTask(SecondTask secondTask) {this.secondTask = secondTask;}}
0 0
- Spring 集成Quartz Scheduler 定时调度任务 Example
- Spring 集成Quartz Scheduler 定时调度任务 Example
- Spring 集成Quartz Scheduler 定时调度任务 Example
- 使用Spring的Quartz Scheduler进行任务定时调度
- Spring任务调度,Quartz Scheduler
- spring定时任务(quartz-scheduler)
- Spring Scheduler定时任务 + Quartz
- Spring定时任务Quartz Scheduler
- Spring与Quartz集成配置实现简单定时任务调度
- Spring与Quartz集成配置实现简单定时任务调度
- Spring+Quartz定时任务调度
- spring+quartz定时任务调度
- spring定时任务调度quartz
- Spring集成Quartz任务调度
- Spring集成Quartz定时任务
- Spring集成Quartz定时任务
- 最新 Spring 4.2.2 集成 Quartz Scheduler 2.2.2 任务调度示例
- 最新 Spring 4.2.2 集成 Quartz Scheduler 2.2.2 任务调度示例
- Docker memo
- sh文件的语法
- [王垠系列]TeXmacs:一个真正“所见即所得”的排版系统
- 2730: [HNOI2012]矿场搭建 tarjan求割点
- View的绘制原理
- Spring 集成Quartz Scheduler 定时调度任务 Example
- Python数据科学安装Numby,pandas,scipy,matpotlib等(IPython安装pandas)
- [王垠系列]Braid - 一个发人深思的游戏
- 线性规划问题之MATLAB实现
- [王垠系列]解密“设计模式”
- qt新手工程
- maven打包时加入依赖包及加入本地依赖包
- 深入理解BootStrap -- 媒体对象(media)15
- Hadoop优化清理本地temp临时文件方式