具体的步骤如下:
1 首先编写业务类,该类继承了org.springframework.scheduling.quartz.QuartzJobBean,主要的逻辑在executeInternal方法中编写
2 配置spring的applicationContext.xml文件
2.1 在spring配置文件中申明这个业务,配置任务JobDetailBean
2.2在spring配置文件中配置调度工作,即,配置触发器 CronTriggerBean
2.3调度一个cron工作,即,配置调度器 SchedulerFactoryBean
3 所需要的jar包:
spring.jar,quartz.jar,commons-logging-1.0.4.jar,commons-dbcp-1.2.2.jar,commons-pool-1.3.jar
以下本人的一个demo
package com.thinkway.erp360.presentation.web.controller.sap;
import org.springframework.scheduling.quartz.QuartzJobBean;
import com.thinkway.erp360.business.service.iface.SalesOrderDeliverService;
import org.quartz.JobExecutionContext;
import org.quartz.JobExecutionException;
public class DailySynSalesOrderDeliverJob extends QuartzJobBean {
public DailySynSalesOrderDeliverJob(){}
protected void executeInternal(JobExecutionContext jobContext)
throws JobExecutionException {
//业务处理-----
salesOrderDeliverService.createSalesOrderDeliver();
}
private SalesOrderDeliverService salesOrderDeliverService = null;
public SalesOrderDeliverService getSalesOrderDeliverService() {
return salesOrderDeliverService;
}
public void setSalesOrderDeliverService(
SalesOrderDeliverService salesOrderDeliverService) {
this.salesOrderDeliverService = salesOrderDeliverService;
}
}
配置spring的applicationContext.xml文件
<!-- 声明调度工作 -->
<bean id="dailySynSalesOrderDeliverJob" class="org.springframework.scheduling.quartz.JobDetailBean">
<property name="jobClass" value="com.thinkway.erp360.presentation.web.controller.sap.DailySynSalesOrderDeliverJob" />
<property name="jobDataAsMap">
<map>
<entry key="salesOrderDeliverService" value-ref="salesOrderDeliverService"/>
</map>
</property>
</bean>
<!-- 调度一个cron工作 定为每天晚上11:59执行-->
<bean id="cronSynTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="dailySynSalesOrderDeliverJob" />
<property name="cronExpression" value="0 59 0 * * ?" />
</bean>
<!-- 启动定时调度 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="cronSynTrigger"/>
</list>
</property>
</bean>
注意:关于设定的时间何时出发,这个定义方法可以上网搜索,在此不做太多说明。
分享到:
相关推荐
- **调度类** (`schedule.TestJob`):这个类继承自`QuartzJobBean`,它是Quartz任务的实现。在`executeInternal()`方法中,我们将调用`UserService`的服务方法,执行实际的业务操作。通过`@Autowired`或在XML配置中...
Spring 整合任务调度框架 Quartz 在软件开发中,任务调度框架是非常重要的一部分,它可以帮助开发者更好地管理和执行各种任务。在 Java 领域中,Quartz 是一个非常流行的任务调度框架,而 Spring 是一个非常流行的 ...
Spring Task是Spring内置的轻量级任务调度器,而Quartz是更强大的第三方调度库,可以在Spring中集成使用。 1. **Spring Task** - **基本概念**:Spring Task是Spring框架的一部分,提供了基本的定时任务调度功能,...
通过使用Spring Task,我们可以轻松地在应用中添加定时任务,而无需依赖其他外部库如Quartz或CronTrigger。 2. **`@Scheduled`注解** 这是Spring Task中最常用的注解,可以将一个方法标记为定时任务。例如: ```...
《Spring任务调度配置详解:Spring+Quartz的整合应用》 在Java开发中,任务调度是不可或缺的一部分,Spring框架提供了与Quartz集成的能力,使得我们可以方便地管理和执行定时任务。本文将详细介绍如何通过Spring和...
Spring框架和Quartz是两个广泛使用的工具,它们可以协同工作以实现复杂和灵活的任务调度。本篇文章将深入探讨如何使用Spring与Quartz结合来创建一个任务调度的小例子。 首先,Spring是一个开源的Java企业级应用开发...
Spring Quartz 是一个强大的任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。结合Spring框架,可以方便地在企业级应用中实现复杂的时间触发逻辑。本实例提供了可以直接运行的任务调度解决方案,既...
本篇将深入探讨如何利用Spring进行任务调度,并结合代码演示和Quartz库的使用来丰富这一主题。 首先,Spring提供了两种主要的任务调度机制:Spring内置的`TaskExecution`和`TaskScheduling`以及与Quartz Scheduler...
通过理解和掌握这些知识点,开发者能够有效地在 Spring 2 和 Quartz 之间建立桥梁,实现 Web 应用中的复杂任务调度功能。对于出现问题的整合,开发者可以通过分析源码、查看日志和调试来定位和解决问题,进一步提升...
Spring框架作为Java领域广泛使用的轻量级框架,提供了与第三方库Quartz的整合,使得开发者能够轻松地在Spring应用中实现复杂的定时任务调度。Quartz是一款开源的作业调度框架,支持丰富的调度策略,可以满足各种定时...
基于Spring Boot的Quartz任务调度系统 项目概述 本项目是一个基于Spring Boot和Quartz的任务调度系统,旨在提供灵活的任务管理和调度功能。系统支持多种任务类型,包括Cron表达式任务和单次时间任务,并提供了丰富...
本项目"spring+quartz任务调度代码版"显然是一个结合了这两者的实践案例,旨在展示如何在Spring环境下集成和使用Quartz进行任务调度。 Spring框架是一个开源的应用框架,它提供了丰富的功能,包括依赖注入、AOP...
Spring框架作为一个全面的企业级应用开发解决方案,提供了强大的任务调度支持,而Quartz则是一个流行的开源作业调度库,能够与Spring很好地集成。现在,我们就来深入探讨"spring quartz 任务调度"这一主题。 首先,...
除了内置的`TaskScheduler`,Spring还支持集成第三方任务调度库,如Quartz。Quartz是一个强大且功能丰富的作业调度框架,允许创建复杂的调度规则。在描述中提到的`quartz-all-1.6.1.jar`是Quartz库的旧版本,可能...
本资源是一个最新 Spring 4.2.2 集成 Quartz Scheduler 2.2.2 的一个简单的 demo,也是博客《最新 Spring 4.2.2 集成 Quartz Scheduler 2.2.2 任务调度示例》的配套示例项目,该博客地址是:...
总的来说,`Spring Timer`适合简单的定时任务需求,而`Quartz Scheduler`更适合处理大型项目或需要高级调度功能的场景。在实际应用中,开发者可以根据项目需求选择合适的任务调度器。通过`spring-taskScheduling`这...
基于Spring Boot和Quartz的分布式任务调度系统 项目简介 本项目是一个基于Spring Boot和Quartz框架的分布式任务调度系统,旨在提供一个灵活、可扩展的任务调度解决方案。系统支持多种任务类型,包括RPC任务、Cron...
总的来说,Spring任务调度实例提供了实践Quartz和Timer的机会,这对于学习和掌握Spring框架的高级特性和任务调度机制非常有价值。通过学习这个实例,开发者不仅可以提升自己的技能,还能了解到如何在实际项目中选择...
下面我们将深入探讨原生Quartz任务调度的实现步骤,以及在Spring Boot中集成Quartz的详细过程。 ### 原生Quartz任务调度实现步骤 1. **引入依赖**:首先,在项目中添加Quartz库的依赖,如果是Maven项目,可以在pom...
本篇文章将深入探讨Spring任务调度的实现方法,以及如何利用Quartz库来增强任务管理能力。 首先,让我们理解Spring的任务调度。Spring通过`@Scheduled`注解提供了一种简单而强大的方式来执行定时任务。这个注解可以...