需要的配置有如下几项:
1.spring包里有quartz的扩展,但是没有包含quartz的包,不要忘了一起放到lib目录下。
2.在spring的配置文件中,添加计划任务。
xml 代码
-
- <bean id="methodInvokingJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
- <property name="targetObject" ref="taskBean"/>
- <property name="targetMethod" value="taskMethod"/>
- <property name="concurrent" value="false" />
- </bean>
- ------定时运行taskBean类的taskMethod方法。
- <bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
-
- <property name="jobDetail" ref="methodInvokingJobDetail" />
-
- <property name="startDelay" value="10000" />
-
- <property name="repeatInterval" value="50000" />
- </bean>
- ----定时运行方式的一种,server启动10秒后就运行,并且每隔50秒循环一次
- <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
- <property name="jobDetail" ref="methodInvokingJobDetail"/>
- <property name="cronExpression" value="0 38,40 * * * ?"/>
- </bean>
- ----定时的另一种,和linux下的cron方式差不多,意思是每个小时的38和40分钟运行一次。
- <bean id="quartzCronBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean" lazy-init="false">
- <property name="triggers">
- <list>
-
- <ref bean="cronTriggerr"/>
- </list>
- </property>
- </bean>
3.spring里的Bean是需要手工调用才会生效的,也就是说,虽然quartzCronBean已经有了,但是server启动时没有人给初始调用。
所以在web的启动办法:
一种办法是设置lazy-init="false";另一种办法是用servlet初始化“quartzCronBean”,在里面装载spring的bean,在web-xml中启动。至于用哪一个就看个人需要的,如下:
下面是在web.xml里的配置:
<servlet>
<description>quartz cron start servlet</description>
<display-name>quartz cron start servlet</display-name>
<servlet-name>StartupServlet</servlet-name>
<servlet-class>xxx.CronTaskServlet</servlet-class>
<load-on-startup>3</load-on-startup>
</servlet>
这就是全过程,server启动就可以用了。
分享到:
相关推荐
本篇将详细介绍如何在Spring项目中配置并使用Quartz。 首先,我们需要在项目的pom.xml文件中添加Quartz和Spring的相关依赖。确保引入了以下依赖: ```xml <groupId>org.quartz-scheduler <artifactId>quartz ...
1. **Quartz配置**:定义了调度器、作业和触发器的配置,可能使用了`org.springframework.scheduling.quartz.SchedulerFactoryBean`来初始化Quartz。 2. **Spring Batch配置**:包含了作业和步骤的定义,以及读取和...
Spring 中的 Quartz 配置-Spring 定时器-java 定时器 在 Spring 框架中,Quartz 是一个非常流行的开源作业调度器,可以实现任务的定时执行。在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java ...
在Spring配置文件(如`applicationContext.xml`)中,定义`SchedulerFactoryBean`来实例化和配置Quartz Scheduler: ```xml <bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz....
Spring Quartz 动态配置时间 Spring Quartz 是一个功能强大的任务调度框架,广泛应用于 Java 企业级应用程序中。其中一个重要的功能便是动态配置时间,触发相应的任务。在本文中,我们将讨论如何使用 Spring Quartz...
在Spring配置文件(如`applicationContext.xml`)中配置Quartz的SchedulerFactoryBean。 ```xml <bean id="scheduler" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> ...
在Spring配置文件中,我们可以声明这些bean并关联它们,这样Spring就能自动管理和触发Quartz任务。 集群配置的关键在于确保所有节点都能共享相同的任务状态和调度信息。Quartz通过使用数据库存储作业和触发器来实现...
接下来是在Spring配置文件中对Quartz进行配置。以下是配置示例: ```xml <!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"> <!-- 要调用的工作类 --> ...
在Spring配置文件中,可以使用`SchedulerFactoryBean`来初始化并管理Scheduler。这个bean将负责启动、停止Scheduler,以及处理其他相关的生命周期事件。 在非配置动态定时任务中,我们不再在XML或Java配置中硬编码...
Spring Boot与Quartz的结合提供了便捷的配置方式,特别是通过YAML(YAML Ain't Markup Language)配置文件,使得配置更加直观和灵活。以下将详细介绍如何在Spring Boot应用中使用YAML文件配置Quartz定时任务,以及...
本文将深入探讨如何在Spring框架中配置Quartz,以便利用其功能来执行计划的任务。 首先,我们需要理解Spring与Quartz结合的基本原理。Spring通过提供一个Quartz的JobFactory,可以集成Quartz到Spring容器中,这样...
以下是一个简单的Spring配置示例: ```xml <bean id="schedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="configLocation" value="classpath:quartz....
Spring Quartz 集群配置详解 在分布式系统中,定时任务的管理往往是一个重要的环节,Spring与Quartz的结合能够帮助我们实现复杂的工作调度。Quartz是一个开源的作业调度框架,它提供了高度可配置的定时任务执行能力...
学习Quartz和Spring-Quartz,不仅需要理解它们的基本概念,还要掌握如何在实际项目中进行配置和使用。例如,创建一个定时任务,你需要定义Job类,配置Trigger,然后在Spring的配置文件中设置Scheduler。此外,熟悉...
在配置Spring与Quartz时,有两个关键的jar包是必不可少的:`quartz-all-1.8.3.jar`和`commons-logging-1.0.4.jar`。 `quartz-all-1.8.3.jar`是Quartz库的主要组成部分,包含了Quartz的所有功能。Quartz是一个开源的...
6. **注册JobDetail和Trigger**:在Spring配置文件中,为每个Job创建一个`JobDetail`,并为每个`JobDetail`配置对应的`Trigger`。 ```xml <bean id="myJob" class="org.springframework.scheduling.quartz....
3. **整合过程**:整合 Spring 2 和 Quartz 需要在 Spring 配置文件中声明 Job 和 Trigger 的 Bean,并指定它们的关联。Spring 可以通过其自身的 JobFactory 来创建 Job 实例,使得 Job 可以利用 Spring 的 DI 功能...
java + quartz实现定时任务,实现集群配置,在集群环境下多节点运行定时Quartz定任务,就会存在重复处理任务的现象,为解决这一问题,下面我将介绍使用 Quartz 的 TASK ( 12 张表)实例化到数据库,基于数据库自动...