`
maybe723
  • 浏览: 46013 次
  • 来自: ...
最近访客 更多访客>>
社区版块
存档分类
最新评论

Spring中Quartz的使用

阅读更多

QuartzTask类;

import java.util.Date;

public class QuartzTask {
	public void execute() throws Throwable {
		Date now = new Date();
		System.out.println(now);
	}
}

 

   quartz.xml的文件:

 

<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
	<!-- 任务类 -->
	<bean id="QuartzTask" class="QuartzTask" />

	<!-- 目标任务类和方法 -->
	<bean id="MethodInvokingJobDetailFactoryBean"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject">
			<ref bean="QuartzTask" />
		</property>
		<property name="targetMethod">
			<value>execute</value>
		</property>
	</bean>

	<!-- 任务设置情况 -->
	<bean id="CronTriggerBean"
		class="org.springframework.scheduling.quartz.CronTriggerBean">
		<property name="jobDetail">
			<ref bean="MethodInvokingJobDetailFactoryBean" />
		</property>
		<property name="cronExpression">
			<value>0/1 * * * * ?</value>
		</property>
	</bean>

	<!-- 任务启动 -->
	<bean id="SchedulerFactoryBean"
		class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<property name="triggers">
			<list>
				<ref bean="CronTriggerBean" />
			</list>
		</property>
	</bean>
</beans>

 

Test类:

import org.springframework.context.support.ClassPathXmlApplicationContext;

public class Test {
	public static void main(String[] args) throws Exception {

		new ClassPathXmlApplicationContext("tarena/quartz.xml");


	}
}

 

  参数说明:

 

  0 0 10,14,16 * * ?      每天上午10点,下午2点,4点
0 0/30 9-17 * * ?       朝九晚五工作时间内每半小时
0 0 12 ? * WED       表示每个星期三中午12点
0 0 12 * * ?      每天中午12点触发
0 15 10 ? * *       每天上午10:15触发
0 15 10 * * ?       每天上午10:15触发
0 15 10 * * ? *      每天上午10:15触发
0 15 10 * * ? 2008    2008年的每天上午10:15触发
0 * 14 * * ?       在每天下午2点到下午2:59期间的每1分钟触发
0 0/5 14 * * ?       在每天下午2点到下午2:55期间的每5分钟触发
0 0/5 14,18 * * ?     在每天下午2点到2:55期间和下午6点到6:55期间的每5分钟触发
0 0-5 14 * * ?       在每天下午2点到下午2:05期间的每1分钟触发
0 10,44 14 ? 3 WED    每年三月的星期三的下午2:10和2:44触发
0 15 10 ? * MON-FRI   周一至周五的上午10:15触发
0 15 10 15 * ?       每月15日上午10:15触发
0 15 10 L * ?        每月最后一日的上午10:15触发
0 15 10 ? * 6L       每月的最后一个星期五上午10:15触发
0 15 10 ? * 6L 2004-2008    2004年至2008年的每月的最后一个星期五上午10:15触发
0 15 10 ? * 6#3     每月的第三个星期五上午10:15触发
0/1 * * * * ?    每秒钟触发一次
0 0/1 * * * ?    每分钟解发一次
0 0 0/1 * * ?    每小时解发一次

 

 

触发器利用一系列特殊字符,如下所示:

反斜线(/)字符表示增量值。例如,在秒字段中“5/15”代表从第 5 秒开始,每 15 秒一次。
问号(?)字符和字母 L 字符只有在月内日期和周内日期字段中可用。问号表示这个字段不包含具体值。所以,如果指定月内日期,可以在周内日期字段中插入“?”,表示周内日期值无关紧要。字母 L 字符是 last 的缩写。放在月内日期字段中,表示安排在当月最后一天执行。在周内日期字段中,如果“L”单独存在,就等于“7”,否则代表当月内周内日期的最后一个实例。所以“0L”表示安排在当月的最后一个星期日执行。
在月内日期字段中的字母(W)字符把执行安排在最靠近指定值的工作日。把“1W”放在月内日期字段中,表示把执行安排在当月的第一个工作日内。
井号(#)字符为给定月份指定具体的工作日实例。把“MON#2”放在周内日期字段中,表示把任务安排在当月的第二个星期一。
星号(*)字符是通配字符,表示该字段可以接受任何可能的值。

分享到:
评论

相关推荐

    关于spring中quartz的配置

    如果使用的是Spring Boot,可以在`application.properties`或`application.yml`中配置Quartz,并通过`@EnableScheduling`注解启用定时任务支持。 8. **动态管理定时任务** Spring提供的`SchedulerFactoryBean`...

    spring+quartz使用jar包

    3. **Job和Trigger**:在Quartz中,Job是需要执行的任务,Trigger则是定义任务何时执行的规则。Spring可以通过实现`org.springframework.scheduling.quartz.JobDetailBean`和`org.springframework.scheduling.quartz...

    spring的quartz使用实例

    在Spring中,通常会使用`org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean`来包装一个带有@Scheduled注解的方法。 5. **Cron表达式** CronTrigger允许使用Cron表达式来定义触发时间,如...

    spring+quartz demo

    Spring 提供了与 Quartz 集成的模块,使得在 Spring 应用程序中使用 Quartz 更加便捷,包括 Job 实例的管理、触发器的配置以及对 Quartz Scheduler 的控制。 在这个 "spring+quartz demo" 中,我们可以学习到如何将...

    SpringQuartz的使用文档

    Spring对Quartz进行了集成,使其更易于在Spring应用程序中使用。Spring提供了`FactoryBean`类,如`SchedulerFactoryBean`,用于创建和管理Quartz的`Scheduler`实例。这使得我们可以利用Spring的依赖注入(DI)和管理...

    quartz和spring-quartz

    而Spring-Quartz则是Spring框架对Quartz的集成,它使得在Spring应用中使用Quartz变得更加方便。 Quartz的核心概念包括Job(作业)、Trigger(触发器)和Calendar(日历)。Job是实际要执行的任务,Trigger定义了Job...

    spring整合quartz使用jdbc存储

    通过以上步骤,你就可以成功地在Spring中整合Quartz并使用JDBC存储任务信息了。这种方式不仅方便了任务的管理和持久化,还支持集群部署,提高了系统的可靠性。在实际应用中,你可能还需要根据具体需求调整触发器类型...

    Java_Spring与Quartz的整合

    在Java Spring中整合Quartz,可以利用Spring的管理能力来控制Quartz的作业和触发器,使得整个系统更加灵活和易于维护。以下将详细介绍如何进行Spring与Quartz的整合。 1. **集成步骤** - 添加依赖:首先,确保在...

    Spring中Quartz的配置

    在Spring中使用Quartz进行任务调度时,首先需要创建一个被调度的类。示例代码如下: ```java package com.kay.quartz; public class QuartzJob { public void work() { System.out.println("Quartz的任务调度!...

    Spring_QuartZDemo

    - Job:在Quartz中,任务被称为Job。我们可以通过实现`org.quartz.Job`接口或者继承`org.quartz.StatefulJob`(如果任务状态需要保留)来定义自己的Job。 ```java public class MyJob implements Job { @...

    Spring中的Quartz配置-Spring-定时器-java定时器.doc

    Spring 中的 Quartz 配置-Spring 定时器-...我们学习了 Quartz 的基本概念,了解了如何在 Spring 配置文件中定义 Quartz 的 bean,并了解了 Cron 表达式的使用。最后,我们总结了 Quartz 的优点,了解了它的强大功能。

    Spring+Quartz2

    Spring 和 Quartz2 是两个在 Java 开发中广泛使用的框架,它们在企业级应用中承担着重要的角色。Spring 是一个全面的、开源的应用框架,而 Quartz2 是一个强大的、开源的作业调度库,常用于实现定时任务。下面我们将...

    Spring+quartz相关jar包.rar

    当 Spring 与 Quartz 结合使用时,Spring 可以通过其强大的容器管理和配置能力,将 Quartz 集成到应用程序中。例如,Spring 提供了 `org.springframework.scheduling.quartz` 包,该包包含了一些用于配置 Quartz 的...

    Spring中Quartz调度器的使用 示例代码

    在本示例中,我们将探讨如何在Spring应用中配置和使用Quartz,以及通过示例代码来理解其工作原理。 首先,我们需要在项目中引入Quartz的依赖。如果你使用的是Maven,可以在pom.xml文件中添加以下依赖: ```xml ...

    Spring+Quartz example

    在Quartz中,Job是执行的任务,Trigger是触发任务的时间规则。Spring支持使用`@Component`注解定义Job类,然后通过`@DisallowConcurrentExecution`确保每次只有一个实例在执行。Trigger则是通过`@Scheduled`注解在...

    spring-quartz定时设置详细说明

    Spring 和 Quartz 是两个在 Java 开发中非常重要的框架。Spring 是一个全面的后端开发框架,而 Quartz 是一个强大的任务调度库。将它们结合使用,我们可以实现基于 Spring 的应用程序中的定时任务管理。以下是对 ...

    spring 集成quartz 用数据库实现quartz的集群

    在企业级应用中,定时任务的管理是必不可少的一部分,Spring框架提供了与Quartz的集成,使得我们可以方便地创建和管理定时任务。Quartz是一款强大的、开放源代码的作业调度框架,它可以灵活地安排和执行任务。而当...

    spring整合quartz文档

    对于开发,重点关注 examples 文件夹中的示例,这将帮助理解如何在实际项目中使用 Quartz。 **1.3 主要概念** - **Job**:这是执行任务的实体,需要实现 `void execute(JobExecutionContext context)` 方法来编写...

    Spring-quartz-demo Spring4.1.6 + quartz2.2.1

    本项目来源与网络,本人对项目...直接通过mvn 倒入项目,在Spring-quartz-demo\src\main\webapp\sql 有sql 建立数据库,表 启动tomcat 直接访问http://localhost:8080/Spring-quartz-demo/task/taskList.htm 就可以使用

    Spring中Quartz调度器的使用

    Spring 中 Quartz 调度器的使用是指在 Spring 框架中使用 Quartz 调度器来实现任务调度。Quartz 是一个功能强大且灵活的开源任务调度器,能够满足复杂的任务调度需求。在 Spring 中使用 Quartz 调度器可以将任务调度...

Global site tag (gtag.js) - Google Analytics