第一步: 创建web工程项目,加载包 quartz.jar 和spring相关包
第二步 :src包中编写一个执行类
public class QuartzServiceImp implements IQuartzService {
public void hskrun() {
// TODO Auto-generated method stub
System.out.println("run hskrun");
}
}
第三步:配置applicationContext.xml
a.加载执行bean
<!-- 加载bean -->
<bean id="hskrun" class="com.quartz.QuartzServiceImp" />
b.下边的这个bean是我们定义要使用哪个bean中的哪个方法作为我们要定时执行的任务。这里定义了我们要使用hskrun这个bean中的hskrun()这个函数作为我们要定时执行的任务。
<!--将执行bean注入spring job容器类-->
<bean id="quartzDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject"> <ref bean="hskrun"/> </property>
<property name="targetMethod"> <value>hskrun</value> </property>
</bean>
c.这是一个触发器的bean的设置,在这里我们设置了我们要触发的jobDetail是哪个。这里我们定义了要触发的jobDetail是quartzDetail,并且我们还定义了触发的时间。
<!--触发器bean的设置,-->
<bean id="quartzTrigger"
class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="quartzDetail"/>
</property>
<property name="cronExpression">
<!-- 时间的设置请看下边另外一篇文章-->
<value>2-59 * * * * ?</value>
</property>
</bean>
d下边的是我们管理这些触发器的总设置,他管理我们我们的触发器列表。据说他的内部是自己建立了自己的数据库来存放自己的临时表,因为我们在我们的配置文件中自动的配置了dataSource这个bean,我们的每一个bean都会在使用数据库的时候找到他,但是如果我们下边的这个管理bean知道的话就会把他当成自己的临时数据库,然后就会出错。所以我们需要将下边的数据库感知设置成否定。这样就不影响他内部实现了。我们可以在下边的bean的list中放置多个触发器。
<!-- 一定要把autowire设置为no,否则它能感知出dataSourse并设置里面的dataSourse的属性-->
<bean autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="quartzTrigger"/>
</list>
</property>
</bean>
第三步启动spring
编写启动class
public class Testrun {
public static void main(String[] args) {
ApplicationContext springContext = new ClassPathXmlApplicationContext(
new String[] { "classpath:applicationContext.xml" });
}
}
第四步运行 Testrun
显示结果如下
run hskrun
run hskrun
run hskrun
run hskrun
run hskrun
run hskrun
run hskrun
分享到:
相关推荐
以上就是使用Spring整合Quartz实现定时器的基本步骤。通过这种方式,你可以灵活地创建、管理和监控定时任务,适用于各种需要定期执行的业务场景。记住,实际应用中,你可能需要考虑更多的细节,例如错误处理、任务...
在Spring整合Quartz的过程中,我们需要完成以下步骤: 1. **引入依赖**:在项目的Maven或Gradle配置文件中添加Quartz和Spring相关库的依赖。 2. **配置Quartz**:在Spring的配置文件(如`applicationContext.xml`...
Spring Quartz定时器是Java开发中常用的一个任务调度框架,它结合了Spring框架的强大功能与Quartz的灵活性,使得开发者能够方便地在应用中实现定时任务。在这个压缩包中,包含了三个核心的jar文件:`quartz-all-...
通过以上步骤,你就可以在Spring MVC项目中使用Spring内置的定时器或Quartz来执行定时任务了。两者各有优劣,Spring内置定时器简单易用,适合轻量级的定时需求;而Quartz功能强大,适用于复杂的定时场景,但配置和...
通过以上步骤,我们可以成功地在Spring框架中实现基于`java.util.Timer`的定时任务。这种方式简单实用,适用于大部分日常的定时任务需求。对于更复杂的需求,可以考虑使用更为强大的第三方库如Quartz来进行任务调度...
Spring提供了多种方式来实现定时任务,其中一种常用的方法是通过集成Quartz库来创建一个定时器。本实例将详细介绍如何在Spring中使用Quartz作为定时器。 首先,Quartz是一个功能强大的开源作业调度框架,它允许应用...
通过以上步骤,你已经成功地在Spring中配置并启动了一个基于Quartz的定时任务。在实际开发中,可以根据需求调整触发器的配置,以实现不同周期、不同时间点的定时任务。此外,还可以利用Spring的AOP特性,将定时任务...
这个"SSM定时器quartz DEMO"是一个示例项目,用于演示如何在Spring、SpringMVC(SSM)架构中集成和使用Quartz。 首先,我们来看看Quartz的基本概念。Quartz主要由以下组件构成: 1. **Job**:这是执行的任务,你...
Spring定时器可以与Quartz定时器进行集成,以提供更加强大的任务调度能力。Quartz是一个开源的作业调度框架,它提供了丰富的调度功能和良好的扩展性,非常适合用于复杂的定时任务场景。 ##### 3.1 Quartz定时器特点...
在实际应用中,利用Quartz+Spring定时器,开发者可以方便地在业务代码中声明定时任务,通过Spring的自动装配特性,实现任务的声明式管理,提高代码的可维护性和灵活性。同时,Quartz的灵活性和强大功能使得它可以...
本篇将深入探讨如何在Spring中启动和停止Quartz定时器。 首先,我们需要理解Spring和Quartz的基本概念。Spring是一个强大的Java企业级应用开发框架,它提供了依赖注入(DI)和面向切面编程(AOP)等核心特性。而...
在标题提到的"spring定时器所需jar包"中,主要涉及的是Spring对定时任务的支持以及与之相关的第三方库Quartz。 首先,Spring框架自身提供了`@Scheduled`注解和`TaskScheduler`接口,用于实现简单的定时任务。`@...
这个示例提供了在Spring框架中集成Quartz的详细步骤,适合Java工程的实现。下面将详细介绍Spring与Quartz结合使用的相关知识点。 1. **Quartz简介** - Quartz是一个开源的作业调度框架,用于创建、调度和执行任务...
### 配置Spring+Quartz定时器的知识点详解 #### 一、Quartz简介与应用场景 Quartz 是一个开源的任务调度框架,它...通过上述步骤,我们可以有效地在Spring环境中配置并使用Quartz定时器,实现灵活的任务调度功能。
1. **添加依赖**: 为了脱离Spring使用Quartz,你需要确保你的项目包含了Quartz库的所有必要jar包,如`quartz.jar`,以及任何其他必要的依赖,例如数据库驱动(如果计划将作业存储在数据库中)。这些jar包应该包含在`...
通过上述步骤,我们可以看到如何在Spring项目中集成Quartz定时器,并通过简单的示例代码来实现定时任务的功能。Spring Quartz提供了一个强大而灵活的方式来管理定时任务,使得开发者可以轻松地为应用程序添加定时...
SpringMVC是一个强大的Java web开发框架,用于构建高效、可维护的Web应用程序。而Quartz则是一个开源的作业调度框架,允许程序在指定的时间执行任务,实现定时任务的管理。结合SpringMVC,我们可以轻松地在Spring...
让我们深入探讨一下这个"spring2.0+quartz1.6定时器"的工作原理和实现细节。 首先,Spring框架是一个广泛应用的开源Java框架,它提供了依赖注入(Dependency Injection, DI)和面向切面编程(Aspect-Oriented ...
在 Spring 中配置定时任务主要分为以下几个步骤: 1. **声明 JobDetailBean:** - **JobDetailBean** 是用来封装一个具体的定时任务的 Bean。 - 通过 `<bean>` 标签定义一个 `JobDetailBean` 类型的 Bean,其 `...