`

[转]spring quartz定时执行任务

阅读更多
连接:http://www.blogjava.net/laoding/articles/227041.html

首先是spring配置文件


<?xml version="1.0" encoding="UTF-8"?>
<beans
xmlns="http://www.springframework.org/schema/beans"
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-2.0.xsd">

<!--你要执行的那个类的bean定义-->
<bean id="searchEngerneService" class="com.strongit.service.impl.SearchEngerneServiceImpl"></bean>

<!--定义定时执行searchEngerneService 这个bean中的timeTask()方法-->
<bean id="searchEngerneTask"   class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> 
<!--你要执行的那个方法对应的bean-->
        <property name="targetObject"> 
            <ref bean="searchEngerneService" /> 
        </property>  
<!--你要执行那个方法,注意方法不能有返回值,参数好像也不能有-->
        <property name="targetMethod">
            <value>timeTask</value> 
        </property> 
    </bean>

<!--触发器的bean的设置,在这里我们设置了我们要触发的jobDetail是哪个。这里我们定义了要触发的jobDetail是searchEngerneTask,即触发器去触发哪个bean..并且我们还定义了触发的时间-->  
    <bean id="cronTrigger" 
        class="org.springframework.scheduling.quartz.CronTriggerBean"> 
        <property name="jobDetail"> 
            <ref bean="searchEngerneTask" /> 
        </property> 
        <property name="cronExpression">  
            <!-- 关键在配置此表达式,时间设置这里表示每天晚上23点执行,最后也写出了一些,具体可以自己去找资料看 -->  
            <value>0 0 23 * * ?</value> 
        </property> 
    </bean>  
  
    <!--管理触发器的总设置,管理我们的触发器列表,可以在bean的list中放置多个触发器。  
    -->  
    <bean autowire="no" 
        class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> 
        <property name="triggers"> 
            <list> 
                <ref bean="cronTrigger" /> 
            </list>
        </property>
    </bean> 


</beans>

执行的那个类和方法我就不写了,自己随便写个简单的测试就可以了

下面是执行主方法

public class TestTimer {

/**
  *   @Description 方法实现功能描述
  *   @param args
  *   void
  *   @throws  抛出异常说明
  */
public static void main(String[] args) {
//这里的spring配置文件的路径自己修改
  ApplicationContext context = new FileSystemXmlApplicationContext("/WebRoot/WEB-INF/application*.xml");
 
  System.out.println("*****完毕******");

}

}



这个方法的作用就是将spring跑起来
OK啦
就是这么简单

欢迎讨论!!



以下是网上摘抄的一些说明:
字段允许值允许的特殊字符
秒 0-59 , - * /
分 0-59 , - * /
小时 0-23 , - * /
日期 1-31 , - * ? / L W C
月份 1-12 或者 JAN-DEC , - * /
星期 1-7 或者 SUN-SAT , - * ? / L C #
年(可选)留空, 1970-2099 , - * /


表达式意义
"0 0 12 * * ?" 每天中午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期间的每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 2002-2005" 2002年至2005年的每月的最后一个星期五上午10:15触发
"0 15 10 ? * 6#3" 每月的第三个星期五上午10:15触发




分享到:
评论

相关推荐

    完美解决多应用服务器负载均衡环境下spring quartz同一定时任务重复执行问题

    在多应用服务器负载均衡环境下,Spring Quartz定时任务的重复执行问题是一个常见的挑战。Spring Quartz是一个强大的、开源的作业调度框架,允许开发者定义和执行复杂的定时任务。然而,当多个服务器实例并行运行时,...

    spring注解Quartz定时执行功能

    下面我们将深入探讨如何利用Spring注解实现Quartz定时执行功能。 首先,我们需要引入Quartz和Spring的相关依赖。在Maven的pom.xml文件中添加以下依赖: ```xml &lt;groupId&gt;org.quartz-scheduler &lt;artifactId&gt;...

    spring quartz定时任务demo

    本文将详细解析“spring quartz定时任务demo”这个项目,它提供了实现Java定时任务的实例,便于快速理解和应用。 首先,Quartz是一个开源的作业调度框架,支持复杂的调度策略,可以创建、调度和执行重复或一次性...

    Spring Quartz执行定时任务.

    使用Spring Quartz执行定时任务

    spring2.0 Quartz 执行每天定时任务 普通普是执行任务

    标题中的“spring2.0 Quartz 执行每天定时任务 普通普是执行任务”涉及到的是在Spring 2.0框架中使用Quartz库来创建并执行每天定时任务的场景。Quartz是一款强大的开源作业调度框架,它可以用来按计划执行各种任务,...

    spring整合quartz定时任务调度

    3. **定义Job**:创建一个实现了`org.quartz.Job`接口的类,这个类代表了需要定时执行的任务。例如,我们可以创建一个名为`MyJob`的类: ```java public class MyJob implements Job { @Override public void ...

    spring3配置quartz定时任务

    总结,通过以上步骤,我们就成功地在Spring 3中配置了Quartz定时任务,实现了每10秒执行一次的任务。在实际应用中,你可以根据需求定义更复杂的作业和触发器,以及使用Quartz的其他高级特性,如集群支持、持久化作业...

    Spring Quartz定时任务 jar包

    Spring Quartz定时任务是Java开发中常见的一种任务调度框架,它结合了Spring的优秀特性与Quartz的灵活性,使得开发者能够方便地在应用中实现定时任务的管理。在本压缩包中,包含的是`log4j-1.2.14.jar`这个日志处理...

    spring+springMVC+mybatis+quartz动态定时任务创建

    在IT行业中,构建高效、可扩展的Web应用是至关重要的,而"spring+springMVC+mybatis+quartz动态定时任务创建"就是一个常见的技术栈,用于实现这样的目标。这个组合充分利用了各组件的优势,提供了强大的后端服务支持...

    spring+quartz动态定时任务创建 +mybatis

    在Spring中整合Quartz,我们可以利用Spring的管理能力,如bean的生命周期管理和事务管理,来更方便地创建和管理定时任务。 **Spring+Quartz动态定时任务创建** 将Spring与Quartz结合,我们可以方便地在运行时动态...

    spring java 定时器 执行两次 quartz

    - 对于多实例问题,可以配置Quartz为集群模式,确保只有一个实例执行任务。 - 检查并修正Spring的定时任务配置,确保只触发一次任务。 - 如果任务不是线程安全的,需要确保其在执行时互斥,例如使用`synchronized`...

    java spring quartz 动态定时任务

    Quartz是一个开源的作业调度框架,支持丰富的调度策略,包括简单的定时执行、按日程表执行以及复杂的表达式执行。Spring框架则提供了一种优雅的方式来整合Quartz,使我们能够利用Spring的依赖注入和管理功能来处理...

    spring-quartz定时任务小实例

    Spring提供`CronTriggerBean`来创建基于cron表达式的触发器,或使用`SimpleTriggerBean`定义间隔执行任务。 5. **配置Spring XML**:在Spring的配置文件中,你需要声明Job和Trigger,并将它们绑定到Scheduler。例如...

    Spring quartz 定时任务调度

    Spring Quartz 是一个强大的开源任务调度框架,它允许开发者在Java应用程序中定义和执行定时任务。在Spring框架中集成Quartz,可以充分利用Spring的IoC(Inversion of Control)和AOP(Aspect Oriented Programming...

    spring多个定时任务quartz配置

    通过以上步骤,你可以在Spring中成功配置并运行多个Quartz定时任务。记得在你的应用启动时启动Scheduler,以便Quartz能够按照预定的时间表执行任务。同时,你可以通过调整JobDetail和Trigger的属性,灵活地控制任务...

    Spring Quartz定时作业

    本项目提供了一套完整的Spring Quartz定时作业的实现,包括任务、触发器和调度的配置文件,只需将这些资源部署到Tomcat服务器上即可运行。 1. **Spring Quartz简介** Spring Quartz是基于开源Quartz Scheduler的一...

    Spring quartz定时调度jar包

    总之,Spring Quartz定时调度jar包为开发者提供了强大的定时任务管理能力,无论是简单的一次性任务还是复杂的周期性任务,都可以轻松处理。通过Spring的管理,任务的创建和维护变得更加灵活和易于测试。在实际开发中...

    Spring Quartz 动态暂停、恢复、修改定时任务

    Spring Quartz 动态暂停、恢复、修改定时任务的一个demo,使用maven构建,框架采用spring springmvc jpa,数据库mysql,含数据库脚本,运行可用,页面访问地址http://localhost:8080/quartz_demo/quartz/list

    Spring 框架自带定时任务和Quartz定时任务

    它支持在指定时间执行任务,也支持按照一定的时间频率执行任务。Quartz不仅可以调度单个任务,还可以构建一个集群的调度环境,并且可以与数据库交互,支持监听器、插件和集群功能,适合大型分布式系统和需要高可用性...

Global site tag (gtag.js) - Google Analytics