`

spring之定时调度

阅读更多
在java2中完成定时调度是基于Timer(启动定时器)和TimerTask(定义执行任务)来完成的。
但是功能比较局限。spring支持Quartz。
首先看一下非spring情况下使用Quartz的实例
首先定义一个实现StatefulJob接口的类,该类表示定时器的执行的任务。
public class WeatherCaptureJob implements StatefulJob {
       public void execute(JobExecutionContext context)
throws JobExecutionException {
           //xxx调度逻辑代码
   } 

然后实现一个JobDetail用于装作jobClass(即上面的类).
JobDetail jobDetail = new JobDetail("WeatherCaptureJob",
"WeatherCaptureJobGroup", WeatherCaptureJob.class);
然后定义一个表达式语言的类
CronExpression cexp = new CronExpression(expressValue);//expressValue为表达式语言字符串
再定义一个CronTrigger类,该类用于装作表达式语言,即设定了定时器的执行时机。
CronTrigger cronTrigger = new CronTrigger( "WeatherCaptureCronTrigger", "WeatherCaptureJobGroup");
cronTrigger.setCronExpression(cexp);
最后定义一个调度类,该类用于让任务类在设定的时间执行
SchedulerFactory schedulerFactory = new StdSchedulerFactory();
Scheduler scheduler = schedulerFactory.getScheduler();
scheduler.scheduleJob(jobDetail, cronTrigger);
scheduler.start();

然后再看看spring下对Quartz的支持
首先定义一个继承QuartzJobBean类的实现类,该实现类是定时任务类
public class MyTimeTask extends QuartzJobBean {
   public void executeInternal(JobExecutionContext arg0)
throws JobExecutionException  {
      //定时逻辑代码
   }

在spring配置文件中定义jobdetail类,该类是装载定时任务类的
<bean id="mySchdulTask"
class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass">
<value>
MyTimeTask
</value>
</property>
</bean>
接着定义一个Triger类,该类和上面有一点区别之处就是不但定义了时间表达式,而且还定义装作了jobdetail类
<bean id="myTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="mySchdulTask" />
</property>
<property name="cronExpression">
<value>0 0/10 * * * ?</value>
</property>
</bean>
最后定义一个调度类,用于执行triger
<bean
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
                           <ref bean="myTrigger" />
</list>
</property>
</bean>
分享到:
评论

相关推荐

    Spring定时调度简单实现源码

    这个"Spring定时调度简单实现源码"很显然是一个关于如何在Spring中配置和使用定时任务的示例代码包。下面我们将深入探讨Spring的定时调度机制以及其核心组件。 Spring的定时任务调度主要依赖于两个关键组件:`Task...

    spring的定时调度

    在IT行业中,Spring框架是Java领域的一个重要组成部分,它提供了丰富的功能,其中之一就是定时调度。Spring的定时调度功能使得开发者能够方便地实现周期性任务,无需深入理解底层复杂的定时器机制。下面,我们将深入...

    spring动态定时调度任务

    在Spring框架中,动态定时调度任务是一个非常实用的功能,它允许根据用户的选择或者系统的实时需求来灵活地调整任务的执行时间。Spring提供了多种方式来实现这一功能,其中Quartz是一个常用的第三方库,它是一个强大...

    Spring quartz定时调度jar包

    Spring Quartz 定时调度是Java应用中广泛使用的任务调度框架,它允许开发者在Spring应用程序上下文中定义和管理定时任务。这个jar包包含了Spring与Quartz的整合,使得开发者能够利用Quartz的强大功能,同时享受...

    Spring的定时调度--Quartz

    在IT行业中,Spring框架是Java领域最常用的轻量级应用框架之一,而Spring的定时调度功能则为企业级应用提供了强大的任务调度能力。本篇将详细探讨Spring如何集成Quartz库来实现定时任务,以及Quartz的基本概念、核心...

    spring 实现定时调度、定时器

    本篇文章将详细探讨如何利用Spring来实现定时调度和定时器功能。 首先,Spring提供了两种主要的方式来实现定时任务:`Spring Task`(也称为`Task Execution and Scheduling`)和`Quartz Scheduler`。这里我们将重点...

    Spring定时调度——将调度信息持久化到数据库中

    本篇文章将探讨如何在Spring中实现定时调度,并将调度信息持久化到数据库中,这在实际业务场景中非常重要,因为能够确保任务的稳定性和可管理性。 首先,我们需要理解Spring的定时任务调度机制。Spring提供了`@...

    Spring中实现定时调度的几种方法

    在本文中,我们将探讨Spring中的两种主要方法:使用Spring Task(也称为Spring的定时调度任务)和集成Quartz组件。 1. **Spring Task(Spring内置定时任务)** Spring Task是Spring框架内置的轻量级定时任务解决...

    spring 任务调度

    Spring的任务调度模块使得开发者能够在应用中轻松地定义和执行定时任务,极大地提高了代码的可维护性和灵活性。 标题"Spring 任务调度"涵盖了Spring框架中的两个主要组件:Spring Task和Quartz Scheduler。Spring ...

    20190821_Spring任务定时(任务调度).md

    Spring 定时器 任务调度 怎么在项目中写定时任务 怎么配置一些环境

    Spring实现任务调度

    `TaskExecution`和`TaskScheduling`是Spring框架的基础任务调度API,它们允许开发者创建和执行简单的定时任务。`TaskExecution`接口提供了任务执行的核心功能,如启动、停止和查询任务状态,而`TaskScheduling`接口...

    spring整合quartz定时任务调度

    在IT行业中,定时任务调度是应用系统中常见且重要的功能之一,它允许程序在特定时间执行特定的任务。Spring框架作为Java领域广泛使用的轻量级框架,提供了与第三方库Quartz的整合,使得开发者能够轻松地在Spring应用...

    Spring quartz 定时任务调度

    Spring Quartz 是一个强大的开源任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Spring框架中集成Quartz,可以充分利用Spring的IoC(Inversion of Control)和AOP(Aspect Oriented Programming...

    spring自带定时任务程序

    给定的压缩包可能包含了一个关于如何配置、使用和测试Spring定时任务的文档。这个文档应该详细介绍了每个步骤,包括如何在Spring环境中注册和启动定时任务,如何编写带有`@Scheduled`注解的方法,以及如何编写测试...

    spring定时任务所需jar

    下面我们将深入探讨Spring定时任务所需的相关jar包以及它们的功能。 首先,Spring框架的核心jar包`spring-context.jar`是必不可少的。这个jar包包含了Spring的核心功能,如依赖注入(Dependency Injection,DI)、...

    Spring中定时任务

    结合Eclipse和Maven,创建Spring定时任务项目时,你需要: 1. 创建一个新的Maven项目,并添加Spring的相关依赖,如`spring-context`, `spring-context-support`(对于Spring Task),以及`quartz`和`spring-quartz`...

    Spring+Quartz定时调度

    **Spring+Quartz定时调度详解** 在Java世界中,实现定时任务调度是非常常见的需求,Spring框架结合Quartz库提供了一种高效且灵活的解决方案。本文将深入探讨Spring与Quartz的整合,以及如何利用它们来创建和管理...

    spring之定时任务实现(spring-task和quartz等不同方式)

    Spring框架提供了一系列工具来支持定时任务的实现,其中包括Spring自带的`spring-task`模块和第三方的Quartz库。下面我们将详细探讨这两种方式以及如何通过注解和非注解的方式进行配置。 首先,`spring-task`是...

    Spring实现任务调度.rar

    Spring框架提供了强大的任务调度能力,使得开发者能够轻松地集成和管理定时任务。本资料“Spring实现任务调度”将深入探讨如何在Spring中设置和管理定时任务。 首先,我们需要理解Spring中的任务调度机制。Spring...

    Spring3.0定时任务简单实例web工程

    在Spring框架中,定时任务是实现自动化操作的重要手段,它允许开发者在特定的时间间隔执行特定的任务,例如数据清理、报表生成等。在本实例中,我们关注的是Spring 3.0版本中的定时任务功能,这是一个基于Web工程的...

Global site tag (gtag.js) - Google Analytics