quartz实现定时器
Quartz是一个开源的作业调度框架,它完全由Java写成,并设计用于J2SE和J2EE应用中。它提供了巨大的灵活性而不牺牲简单性。你能够用它来为执行一个作业而创建简单的或复杂的调度。它有很多特征,如:数据库支持,集群,插件,EJB作业预构建,JavaMail及其它,支持cron-like表达式等等。
一。需要applicationContext-task.xml;applicationContext-beans-task.xml两个配置文件,名字可以自己写;
这两个文件需要在tomcat启动时,自动加载。
在项目下的web.xml里面配置
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
classpath*:applicationContext-beans-*.xml,
classpath*:applicationContext-task.xml
</param-value>
</context-param>
用于加载两个.xml文件。
二。applicationContext-task.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="ballotInvoking" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
<property name="targetObject"><ref bean="ballot"/></property>
<property name="targetMethod"><value>bup</value></property>
</bean>
<bean id="ballotTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
<property name="jobDetail">
<ref bean="ballotInvoking"/>
</property>
<property name="cronExpression">
<!--第天晚上11点55分调用这个方法-->
<value>0 55 23 * * ?</value>
</property>
</bean>
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
<property name="triggers">
<list>
<ref local="ballotTrigger"/>
</list>
</property>
</bean>
</beans>
三。applicationContext-beans-task.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:aop="http://www.springframework.org/schema/aop"
xmlns:tx="http://www.springframework.org/schema/tx"
xsi:schemaLocation="
http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd
http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.0.xsd
http://www.springframework.org/schema/aop http://www.springframework.org/schema/aop/spring-aop-2.0.xsd">
<!-- 方法所在的地方 -->
<bean id="ballot" scope="prototype" class="com.chineseall.sample.ballot.BallotUp">
<property name="service">
<ref bean="ballotService"/>
</property>
</bean>
</beans>
四。BallotUp.java
public class BallotUp {
private IBallotService service;
public void bup()
{
try
{
java.util.Date ud=new java.util.Date();
service.updateByDate(ud);
}
catch(Exception e)
{
e.printStackTrace();
}
}
/**
* @return the service
*/
public IBallotService getService() {
return service;
}
/**
* @param service the service to set
*/
public void setService(IBallotService service) {
this.service = service;
}
}
这样就可以了,别忘记了,要加上quartz需要的包。
我这里是有这个版本的
quartz-all-1.6.0.jar
很容易哈
我们常会用到的定时时间
表达式 含义
"0 0 12 * * ?" 每天中午十二点触发
"0 15 10 ? * *" 每天早上 10 : 15 触发
"0 15 10 * * ?" 每天早上 10 : 15 触发
"0 15 10 * * ? *" 每天早上 10 : 15 触发
"0 15 10 * * ? 2005" 2005年的每天早上 10 : 15 触发
"0 * 14 * * ?" 每天从下午 2 点开始到 2 点 59 分每分钟一次触发
"0 0/5 14 * * ?" 每天从下午 2 点开始到 2 : 55 分结束每 5 分钟一次触发
"0 0/5 14,18 * * ?" 每天的下午 2 点至 2 : 55 和 6 点至 6 点 55 分两个时间段内每 5 分钟一次触发
"0 0-5 14 * * ?" 每天 14:00 至 14:05 每分钟一次触发
"0 10,44 14 ? 3 WED" 三月的每周三的 14 : 10 和 14 : 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" 每月最后一个周五的 10 : 15 触发
"0 15 10 ? * 6L 2002-2005" 2002年至 2005 年的每月最后一个周五的 10 : 15 触发
"0 15 10 ? * 6#3" 每月的第三个周五的 10 : 15 触发
分享到:
相关推荐
以上就是使用Spring整合Quartz实现定时器的基本步骤。通过这种方式,你可以灵活地创建、管理和监控定时任务,适用于各种需要定期执行的业务场景。记住,实际应用中,你可能需要考虑更多的细节,例如错误处理、任务...
本教程将围绕"Springboot2+quartz实现定时器的增删改查"这一主题,详细介绍如何在Spring Boot 2.x项目中集成Quartz来实现定时任务,并进行相关的管理操作。 首先,我们需要在Spring Boot项目中引入Quartz的依赖。在...
优质项目,基于Springboot2+quartz实现定时器管理系统,内含完整源码+数据库脚本 设计一个定时器管理系统,可以动态启动、停止定时器,并能根据已失去的时长自动调整剩余的时间。 运行时间限制:1Sec 内存限制:无限制 ...
项目描述: 实现定时器持久化数据库 运行环境: jdk8+tomcat8+mysql8.0.13+IntelliJ IDEA+maven 项目技术(必填): springboot2+spring+spring mvc+mybatis+quartz+vue 数据库文件: 见项目"建表语句.txt"文件 在添加新...
Spring 和 Quartz 是两个在 Java 开发中常用的框架,Spring 是一个全面的企业级应用开发框架,而 Quartz 是一个开源的作业调度框架,常用于实现定时任务。在这个文档中,我们将探讨如何将它们结合使用来实现一个...
在本项目中,我们主要探讨的是如何利用Spring Boot 2框架和Quartz Scheduler来实现一个功能完善的定时任务管理系统。Spring Boot以其快速启动、简洁配置和强大的整合能力深受开发者喜爱,而Quartz则是一个广泛使用的...
1、资源项目源码均已通过严格测试验证,保证能够正常运行; 2、本项目仅用作交流学习参考,请切勿用于商业用途。
Spring Quartz 定时器示例(Web工程版),欢迎下载。
总的来说,这个demo提供了Quartz基础用法的一个快速入门,帮助开发者理解如何在实际项目中利用Quartz实现定时任务。通过深入学习和实践,你可以掌握更复杂的调度策略,如并发控制、任务依赖关系以及异常处理等,从而...
Quartz.NET是一个开源的作业调度框架,是...它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了 Quartz.NET的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业.
"使用Spring整合Quartz实现定时器功能" 在软件开发中,定时器功能是一个非常重要的功能,能够让程序在指定的时间点执行特定的任务。在Java领域中,Quartz是一个非常流行的开源任务调度器框架,它可以让开发者轻松地...
"shiro+SpringMVC+Spring+mybatis+maven+mybatis 自动刷新+Quartz scheduler 定时器"是一个常见的技术栈组合,每个组件都有其特定的功能和作用。 1. **Shiro**:Apache Shiro 是一个强大且易用的Java安全框架,提供...
通过以上步骤,我们可以灵活地在Spring应用中使用Quartz实现定时任务的启动和停止。在实际项目中,还可以根据需求对任务进行分组、优先级排序、任务依赖设置等高级功能,以满足复杂的调度需求。记得在生产环境中,...
作为一个专业的IT行业大师,我很高兴为你解析Quartz定时器的核心概念、功能以及如何通过源码学习。 Quartz定时器允许开发者创建、调度和管理任务,这些任务可以是简单的函数调用或者复杂的业务流程。它支持多种调度...
### Quartz定时器介绍与简单使用 #### 1.1 Quartz介绍 Quartz 是一款功能强大的开源任务调度框架,它完全采用 Java 编写而成。该框架允许开发人员以灵活的方式定义作业及其触发规则,从而实现对任务的定时调度。...
Quartz是一款功能强大的开源作业调度框架,常用于Java应用程序中实现定时任务的管理。它提供了丰富的API和灵活性,使得开发者可以轻松地定义、安排和执行各种定时任务。在这个"quartz简易定时器"中,我们可以看到一...
SSM定时器Quartz是一个广泛使用的Java定时任务框架,它允许开发者在应用程序中安排复杂的作业执行计划。在Java世界里,Quartz是一个强大的工具,它能够处理大量的并发任务,并提供了丰富的API来创建、调度和管理任务...
本篇文章将深入探讨如何利用Quartz实现定时任务的分组、串行和并行动态配置。 首先,理解Quartz的核心概念是必要的。`Job`是执行任务的基本单元,`Trigger`则决定了何时触发Job。Quartz提供了`Scheduler`来管理和...
在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java 定时器的功能。 Quartz 介绍 Quartz 是一个开源的作业调度器,可以让开发者轻松地实现任务的定时执行。它提供了强大的调度功能,可以满足复杂...
Quartz定时器是一个开源的作业调度框架,专为J2SE和J2EE应用程序设计,完全用Java编写。它的核心优势在于提供强大的灵活性和简单性,使得开发者可以轻松创建简单的或复杂的任务调度。Quartz支持多种特性,如数据库...