`
yingjun055
  • 浏览: 17495 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论

quartz实现定时器

阅读更多

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 触发

2
6
分享到:
评论

相关推荐

    Spring-quartz实现定时器(含代码)

    以上就是使用Spring整合Quartz实现定时器的基本步骤。通过这种方式,你可以灵活地创建、管理和监控定时任务,适用于各种需要定期执行的业务场景。记住,实际应用中,你可能需要考虑更多的细节,例如错误处理、任务...

    Springboot2+quartz实现定时器的增删改查.rar

    本教程将围绕"Springboot2+quartz实现定时器的增删改查"这一主题,详细介绍如何在Spring Boot 2.x项目中集成Quartz来实现定时任务,并进行相关的管理操作。 首先,我们需要在Spring Boot项目中引入Quartz的依赖。在...

    优质项目,基于Springboot2+quartz实现定时器管理系统,内含完整源码+数据库脚本

    优质项目,基于Springboot2+quartz实现定时器管理系统,内含完整源码+数据库脚本 设计一个定时器管理系统,可以动态启动、停止定时器,并能根据已失去的时长自动调整剩余的时间。 运行时间限制:1Sec 内存限制:无限制 ...

    Springboot2+quartz实现定时器的增删改查.zip

    项目描述: 实现定时器持久化数据库 运行环境: jdk8+tomcat8+mysql8.0.13+IntelliJ IDEA+maven 项目技术(必填): springboot2+spring+spring mvc+mybatis+quartz+vue 数据库文件: 见项目"建表语句.txt"文件 在添加新...

    Spring-quartz实现定时器(含代码).doc

    Spring 和 Quartz 是两个在 Java 开发中常用的框架,Spring 是一个全面的企业级应用开发框架,而 Quartz 是一个开源的作业调度框架,常用于实现定时任务。在这个文档中,我们将探讨如何将它们结合使用来实现一个...

    【Springboot项目源码】Springboot2+quartz实现定时器的增删改查.zip

    在本项目中,我们主要探讨的是如何利用Spring Boot 2框架和Quartz Scheduler来实现一个功能完善的定时任务管理系统。Spring Boot以其快速启动、简洁配置和强大的整合能力深受开发者喜爱,而Quartz则是一个广泛使用的...

    Spring Quartz 定时器示例(Web工程版)

    Spring Quartz 定时器示例(Web工程版),欢迎下载。

    一个简单的quartz定时器的demo

    总的来说,这个demo提供了Quartz基础用法的一个快速入门,帮助开发者理解如何在实际项目中利用Quartz实现定时任务。通过深入学习和实践,你可以掌握更复杂的调度策略,如并发控制、任务依赖关系以及异常处理等,从而...

    Quartz.net定时器

    Quartz.NET是一个开源的作业调度框架,是...它实现了作业和触发器的多对多关系,还能把多个作业与不同的触发器关联。整合了 Quartz.NET的应用程序可以重用来自不同事件的作业,还可以为一个事件组合多个作业.

    使用spring整合Quartz实现—定时器功能

    "使用Spring整合Quartz实现定时器功能" 在软件开发中,定时器功能是一个非常重要的功能,能够让程序在指定的时间点执行特定的任务。在Java领域中,Quartz是一个非常流行的开源任务调度器框架,它可以让开发者轻松地...

    shiro+SpringMVC+Spring+mybatis+maven+mybatis 自动刷新+ Quartz scheduler 定时器

    "shiro+SpringMVC+Spring+mybatis+maven+mybatis 自动刷新+Quartz scheduler 定时器"是一个常见的技术栈组合,每个组件都有其特定的功能和作用。 1. **Shiro**:Apache Shiro 是一个强大且易用的Java安全框架,提供...

    spring和quartz的定时器的启动和停止例子

    通过以上步骤,我们可以灵活地在Spring应用中使用Quartz实现定时任务的启动和停止。在实际项目中,还可以根据需求对任务进行分组、优先级排序、任务依赖设置等高级功能,以满足复杂的调度需求。记得在生产环境中,...

    quartz定时器源码jar包下载

    作为一个专业的IT行业大师,我很高兴为你解析Quartz定时器的核心概念、功能以及如何通过源码学习。 Quartz定时器允许开发者创建、调度和管理任务,这些任务可以是简单的函数调用或者复杂的业务流程。它支持多种调度...

    Quartz定时器介绍与简单使用

    ### Quartz定时器介绍与简单使用 #### 1.1 Quartz介绍 Quartz 是一款功能强大的开源任务调度框架,它完全采用 Java 编写而成。该框架允许开发人员以灵活的方式定义作业及其触发规则,从而实现对任务的定时调度。...

    quartz简易定时器

    Quartz是一款功能强大的开源作业调度框架,常用于Java应用程序中实现定时任务的管理。它提供了丰富的API和灵活性,使得开发者可以轻松地定义、安排和执行各种定时任务。在这个"quartz简易定时器"中,我们可以看到一...

    SSM定时器quartz DEMO

    SSM定时器Quartz是一个广泛使用的Java定时任务框架,它允许开发者在应用程序中安排复杂的作业执行计划。在Java世界里,Quartz是一个强大的工具,它能够处理大量的并发任务,并提供了丰富的API来创建、调度和管理任务...

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

    在本篇文章中,我们将讨论如何在 Spring 中配置 Quartz,以实现 Java 定时器的功能。 Quartz 介绍 Quartz 是一个开源的作业调度器,可以让开发者轻松地实现任务的定时执行。它提供了强大的调度功能,可以满足复杂...

    Quartz定时器从入门到进阶

    Quartz定时器是一个开源的作业调度框架,专为J2SE和J2EE应用程序设计,完全用Java编写。它的核心优势在于提供强大的灵活性和简单性,使得开发者可以轻松创建简单的或复杂的任务调度。Quartz支持多种特性,如数据库...

    java quartz job定时器

    demo中主要实现了两点问题。 1.job每天固定时间(如12点)扫描执行一次 2.job每隔一段时间(如5分钟)扫描执行一次 使用了quartz-all-1.6.3.jar log4j-1.2.13.jar jta-spec1_0_1.jar commons-digester-1.8.jar commons-...

    实现quartz定时器及quartz定时器原理介绍

    以下是一个使用Quartz实现的简单定时任务示例: ```java // 定义Job public class MyJob implements Job { public void execute(JobExecutionContext jobExecutionContext) throws JobExecutionException { ...

Global site tag (gtag.js) - Google Analytics