Quartz任务调度
1.任务类
public class Job {
private static Log log = LogFactory.getLog(Job.class);
//调度任务方法
public void doBiz() {
//获取已注入的bean,如果new出来的是没有注入的
WebApplicationContext context =
ContextLoader.getCurrentWebApplicationContext();
TestService Testservice = (TestService) context.getBean("testService");
List list = Testservice.getUsers();
log.info("Quartz-----------------------------------"+list.size());
}
}
2.spring的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"
xmlns:util="http://www.springframework.org/schema/util"
xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.2.xsd
http://www.springframework.org/schema/util http://www.springframework.org/schema/util/spring-util-3.2.xsd
http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-3.2.xsd">
<bean id="testDao" class="com.tts.test.dao.impl.TestDaoImpl">
<property name="dataSource" ref="dataSource" />
</bean>
<bean id="testService" class="com.tts.test.service.impl.TestServiceImpl">
</bean>
<!-- 线程执行器配置,用于任务注册 -->
<bean id="executor"
class="org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor">
<property name="corePoolSize" value="10" />
<property name="maxPoolSize" value="100" />
<property name="queueCapacity" value="500" />
</bean>
<!-- 业务对象 -->
<bean id="bizObject" class="com.tts.test.job.Job" />
<!-- 调度业务 -->
<bean id="jobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject" ref="bizObject" />
<property name="targetMethod" value="doBiz" />
</bean>
<!-- 触发器 -->
<bean id="trigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail" ref="jobDetail" />
<property name="cronExpression" value="00 0/1 * * * ?" />
</bean>
<!-- 设置调度 -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="trigger" />
</list>
</property>
<property name="taskExecutor" ref="executor" />
</bean>
</beans>
3.结果:
2013-11-20 14:32:00,270 INFO - Quartz-----------------------------------4
2013-11-20 14:33:00,005 INFO - Quartz-----------------------------------4
2013-11-20 14:34:00,005 INFO - Quartz-----------------------------------4
2013-11-20 14:35:00,005 INFO - Quartz-----------------------------------4
分享到:
相关推荐
Spring集成Quartz是一款高效的任务调度框架,用于在Java应用程序中执行计划、周期性的任务。Quartz与Spring的结合,使得我们可以充分利用Spring的依赖注入(DI)和AOP特性,简化了任务调度的复杂性。 首先,Quartz...
以上就是Spring整合Quartz实现定时任务调度的基本流程。在实际开发中,你可能需要根据项目需求对触发规则、任务逻辑、并发控制等方面进行更复杂的配置和设计。同时,Quartz还支持集群部署,可以在多台服务器上实现...
在本文中,我们将深入探讨如何在Spring中集成Quartz进行任务调度,并通过一个简单的示例来理解其工作原理。 首先,要在Spring中使用Quartz,你需要将`quartz-all-1.5.2.jar`等相关的Quartz库添加到项目的类路径中。...
在Spring整合Quartz的过程中,首先需要在Spring配置文件中声明Scheduler工厂bean,然后定义Job和Trigger的bean。Spring通过`org.springframework.scheduling.quartz.SchedulerFactoryBean`来创建和管理Quartz的...
在Spring应用中集成Quartz,首先需要添加Quartz的相关依赖到项目中,通常通过Maven或Gradle。然后在Spring配置文件中配置SchedulerFactoryBean,这是Spring提供的一个工厂bean,用于创建和管理Quartz Scheduler实例...
Spring 整合任务调度框架 Quartz 在软件开发中,任务调度框架是非常重要的一部分,它可以帮助开发者更好地管理和执行各种任务。在 Java 领域中,Quartz 是一个非常流行的任务调度框架,而 Spring 是一个非常流行的 ...
Spring框架作为一个全面的企业级应用开发解决方案,提供了强大的任务调度支持,而Quartz则是一个流行的开源作业调度库,能够与Spring很好地集成。现在,我们就来深入探讨"spring quartz 任务调度"这一主题。 首先,...
在Spring中集成Quartz,首先我们需要在项目中引入Quartz和Spring的相关依赖。在Maven的pom.xml文件中,添加如下依赖: ```xml <groupId>org.quartz-scheduler <artifactId>quartz <version>2.3.2 <groupId>...
通过阅读 Spring Quartz 的源码,可以深入了解其实现原理,学习如何将其他工具或服务集成到定时任务中,以及如何优化调度性能。 综上所述,Spring Quartz 为开发者提供了一种强大且灵活的方式来管理任务调度,无论...
标题“Spring quartz任务调度”指的是在Java开发中利用Spring框架集成Quartz库来实现应用程序的任务调度功能。Quartz是一款开源的作业调度框架,它允许开发者安排任务在特定时间执行,而Spring框架则提供了与Quartz...
Spring框架通过集成Quartz这一强大的任务调度库,为开发者提供了灵活、高效的定时任务解决方案。其中,cron表达式(cron expression)是用于定义任务执行时间的一种方式,在Spring与Quartz的结合中发挥着重要作用。 ...
基于Spring Boot的Quartz任务调度系统 项目概述 本项目是一个基于Spring Boot和Quartz的任务调度系统,旨在提供灵活的任务管理和调度功能。系统支持多种任务类型,包括Cron表达式任务和单次时间任务,并提供了丰富...
在Spring框架中集成Quartz,可以充分利用Spring的IoC(Inversion of Control)和AOP(Aspect Oriented Programming)特性,使任务调度更加灵活且易于管理。 1. **Quartz简介** Quartz 是一个完全由Java编写的开源...
通过上述步骤,你可以了解如何在Spring环境中集成Quartz,定义任务,设置触发器,并进行任务调度。这个"spring quartz java任务调度 完整 可执行"的压缩包文件可能包含了所有必要的配置文件、Job类和示例代码,帮助...
总的来说,Quartz任务调度器与Spring的整合使得我们能够在应用中轻松地实现定时任务的管理,而无需关心任务执行的具体细节。它为开发者提供了一套强大的工具,帮助我们在项目中实现定时任务的自动化,提高系统的运行...
### 二、Spring整合Quartz Spring通过`org.springframework.scheduling.quartz`包为Quartz提供了高级封装,简化了Quartz的配置和使用。以下是整合的步骤: 1. **引入依赖**:在项目中添加Quartz和Spring对Quartz的...
这篇博客“Spring下使用Quartz任务调度”将深入探讨如何在Spring环境中集成并使用Quartz进行任务管理。 Quartz是一个开源的作业调度框架,它可以被用来创建、调度和执行任务,支持复杂的调度策略。其核心特性包括可...
【标题】:基于Spring Boot和Quartz的分布式任务调度系统 在现代企业级应用中,任务调度是一项重要的功能,...通过这个项目,开发者可以深入学习和实践Spring Boot与Quartz的整合,以及分布式环境下的任务调度策略。
### Spring集成Quartz调度框架详解 #### 一、Quartz调度框架概述 Quartz是一个开源的、成熟的作业调度框架,其主要目标是在Java应用程序中提供简单而强大的作业调度能力。Quartz支持作业按时间间隔(如每天、每周...
在IT行业中,Spring框架是Java开发中的一个核心...在实际项目中,可以根据需求的复杂程度选择使用Spring Task或是集成Quartz。同时,理解源码有助于我们更高效地利用这些工具,避免常见陷阱,提高系统的稳定性和性能。