1. 添加maven依赖。pom.xml中添加jar文件
<!-- 作业任务调度机制 -->
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz</artifactId>
<version>2.2.1</version>
</dependency>
<dependency>
<groupId>org.quartz-scheduler</groupId>
<artifactId>quartz-jobs</artifactId>
<version>2.2.1</version>
</dependency>
2.任务交给spring管理。web.xml文件中引入任务调度的配置文件
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:/config/applicationContext-shiro.xml,
classpath*:/config/applicationContext-quartz.xml
</param-value>
</context-param>
3. 配置任务调度。编写applicationContext-quartz.xml配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"
xmlns:context="http://www.springframework.org/schema/context"
xmlns:mvc="http://www.springframework.org/schema/mvc" xmlns:tx="http://www.springframework.org/schema/tx"
xmlns:aop="http://www.springframework.org/schema/aop" xmlns:cache="http://www.springframework.org/schema/cache"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://www.springframework.org/schema/beans
http://www.springframework.org/schema/beans/spring-beans.xsd
http://www.springframework.org/schema/context
http://www.springframework.org/schema/context/spring-context.xsd
http://www.springframework.org/schema/mvc
http://www.springframework.org/schema/mvc/spring-mvc.xsd
http://www.springframework.org/schema/tx
http://www.springframework.org/schema/tx/spring-tx.xsd
http://www.springframework.org/schema/aop
http://www.springframework.org/schema/aop/spring-aop.xsd
http://www.springframework.org/schema/cache
http://www.springframework.org/schema/cache/spring-cache.xsd">
<!-- 定时器工作调度的bean -->
<bean id="myJob" class="com.xx.xxxx.ws.quarter.MyJob" />
<!-- job的配置开始 -->
<bean id="myJobDetail"
class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject">
<ref bean="myJob" />
</property>
<property name="targetMethod">
<value>work</value>
</property>
</bean>
<!-- 调度的配置开始 -->
<bean id="crontestJobTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
<property name="jobDetail">
<ref bean="myJobDetail" />
</property>
<property name="cronExpression">
<value>0/10 * * * * ?</value>
</property>
</bean>
<!-- 启动触发器的配置开始 -->
<bean name="startQuertz" lazy-init="false" autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="crontestJobTrigger" />
</list>
</property>
</bean>
</beans>
4. 编写任务类。编写定时器类<bean id="myJob" class="com.xx.xxxx.ws.quarter.MyJob" />
public class MyJob {
public void work()
{
System.out.println("work done----------");
}
}
4.如何配置quartz(随spring启动)执行一次
<!-- 配置项目启动后任务就执行一次 -->
<bean id="rsh_simpleTrigger1" class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
<property name="jobDetail" ref="myJobDetail" />
<property name="startDelay" value="500" />
<property name="repeatInterval" value="0" />
<property name="repeatCount" value="0" />
</bean>
触发器当中添加配置任务
<!-- 启动触发器的配置开始 -->
<bean name="startQuertz" lazy-init="false" autowire="no"
class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref bean="rsh_simpleTrigger1" />
<ref bean="crontestJobTrigger" />
</list>
</property>
</bean>
分享到:
相关推荐
### 关于 Quartz 随 Tomcat 启动执行一次的知识点 #### 1. Quartz 概述 Quartz 是一个开源的作业调度框架,能够触发在指定时间执行的任务(也称为作业)。它提供了丰富的调度器功能,如支持复杂的循环调度、支持...
总结,通过以上步骤,我们就成功地在Spring 3中配置了Quartz定时任务,实现了每10秒执行一次的任务。在实际应用中,你可以根据需求定义更复杂的作业和触发器,以及使用Quartz的其他高级特性,如集群支持、持久化作业...
-- 每5分钟执行一次 --> <bean id="myJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> ``` 在这个例子中,`cronExpression`定义了任务的执行频率,`target...
在Spring框架中集成Quartz库...当Spring应用启动时,Quartz调度器会自动启动并按照预定的计划执行任务。在实际开发中,你可以根据需求调整定时任务的执行周期、并发控制和数据持久化策略,以满足复杂的定时任务需求。
// 每5分钟执行一次 ``` 3. **配置Scheduler**: 通过`IScheduler`接口管理任务和触发器。创建Scheduler实例,注册Job和Trigger,并启动Scheduler。 ```csharp var scheduler = StdSchedulerFactory....
Quartz是一款开源的作业调度框架,它允许开发者创建和安排任务执行。在Java应用程序中,Quartz能够帮助我们在特定的时间点或按照预设的周期执行某些功能,如数据收集、日志清理等。当我们需要终止某个正在运行的任务...
3. **串行执行**:如果希望同一组内的Job按顺序执行,可以使用`CalendarIntervalTrigger`或`SimpleTrigger`,并通过设置相关属性,确保前一个Job完成后再启动下一个。此外,还可以自定义Trigger监听器,检查当前运行...
4. **恢复策略**:Quartz 提供了在失败时重试的策略,如果配置不当,可能会导致任务多次尝试执行。 5. **JobDetail 和 Trigger 的名称与 Group 不唯一**:Quartz 需要 JobDetail 和 Trigger 的名称和组名是唯一的,...
然后在Java代码中读取这个配置值,动态生成Cron表达式,这样就可以实现启动时自动调用并按照配置的时间间隔重复执行任务。 总结起来,Quartz通过提供`Job`和`Trigger`的概念,使得开发者可以方便地在Java应用程序中...
")) // 每5分钟执行一次 .build(); ``` 4. **配置Scheduler** 在Spring配置文件(如`applicationContext.xml`)中,定义`SchedulerFactoryBean`来实例化和配置Quartz Scheduler: ```xml ...
例如,创建一个名为`MyJob`的定时任务,每隔5分钟执行一次。 ```yaml spring: quartz: jobs: - job-class: com.example.MyJob triggers: - cron: "0/5 * * * * ?" ``` 4. **整合Dubbo和Nacos**:Spring ...
7. **Spring整合**:在Spring中配置Quartz,通过`SchedulerFactoryBean`来创建和管理Scheduler实例。通过`@DisallowConcurrentExecution`注解可以防止同一任务在单个实例中并发执行,但这个注解并不适用于集群环境。...
接着,配置Quartz的`org.quartz.jobStore`属性以使用数据库存储。常见的实现是`org.quartz.impl.jdbcjobstore.JobStoreTX`或`org.quartz.impl.jdbcjobstore.JobStoreCMT`,前者适用于非事务性环境,后者适用于JTA...
" 表示每5分钟执行一次 --> * * * ?"/> ``` 6. **注册Trigger**:在SchedulerFactoryBean中注册Trigger,使其与Job关联: ```xml <!-- 将JobDetail和Trigger注册到Scheduler --> ``` 7...
2. **配置Quartz**:在Spring的配置文件(如applicationContext.xml)中,定义SchedulerFactoryBean,这是Spring管理Quartz Scheduler的主要方式: ```xml ...
") // 每5分钟执行一次 public void executeJob() { // 这里调用你的业务逻辑方法 } } ``` 5. **启动Quartz** 在Spring Boot应用中,`@EnableScheduling`会自动启动调度器。如果你是在非Spring Boot项目中,...
在这里,`myJob`指向了`executeTask`方法所在的bean和服务,`myTrigger`则设置了一个每5分钟执行一次的Cron表达式。 ### 3. 单独使用Quartz 如果你不使用Spring,也可以直接通过Quartz API进行配置和管理。首先,...
C#定时执行,springQuartz定时器定时执行程序。执行时间可配置每秒,天,周,年执行一次
2. **配置Quartz**:在Spring的配置文件(如`applicationContext.xml`)中,声明一个`SchedulerFactoryBean`,这是Spring提供的用于管理Quartz Scheduler的bean。 ```xml ...
这一步通常是通过配置Quartz的`SchedulerFactoryBean`在Spring框架中完成的,或者在程序启动时手动执行。 对于更复杂的场景,比如需要支持集群或高可用性,可能还需要额外的表和设置。例如,`QRTZ_SCHEDULER_STATE`...