`

Sping定时器的使用

 
阅读更多
<?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 id="mesBean" class="cn.xg.spring.Message" abstract="false"
   lazy-init="default" autowire="default" dependency-check="default">
   <property name="title">
    <value>标题</value>
   </property>
</bean>

<!-- spring定时器 -->
<!-- 方法一 -->
<!-- 第一步 声明一个定时任务,该类extends java.util.TimerTask -->
<bean id="clock" class="cn.xg.spring.Clock"></bean>

<!-- 第二步 调度定时任务,把声明的定时任务注入进来,并设置定时参数 -->
<bean id="scheduledClock" class="org.springframework.scheduling.timer.ScheduledTimerTask">
   <property name="timerTask">
    <ref bean="clock"></ref>
   </property>
   <property name="period">
    <value>5000</value>
    <!--这里是每隔多长时间就进行一次计时任务,单位ms-->
   </property>
   <property name="delay">
    <value>5000</value>
    <!--这里是服务启动后延时多少时间,开始计时任务,单位ms-->
   </property>
</bean>

<!-- 启动定时任务,如果有多个定时任务,则重复步骤一,二,然后把第二步设置的beany放在下面的list列表中.此方法不能精确几点运行定时任务 -->
<bean class="org.springframework.scheduling.timer.TimerFactoryBean">
   <property name="scheduledTimerTasks">
    <list>
     <ref bean="scheduledClock"></ref>
    </list>
   </property>
</bean>

<!-- 方法二 -->
<!-- 第一步 声明一个定时任务,注意不是直接声明,而是声明一个JobDetailBean,通过jobClass属性设置一个定时对象 -->
<bean id="quartzClock" class="org.springframework.scheduling.quartz.JobDetailBean">
   <property name="jobClass">
    <value>cn.xg.spring.QuartzClock</value>
   </property>
</bean>

<!-- 第二步 调度定时任务 -->
<!--这种配置与第一种方法效果一样
   <bean id="quartzClockTask" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
    <property name="jobDetail">
     <ref bean="quartzClock"/>
    </property>
    <property name="startDelay">
     <value>6000</value>
      这里是服务启动后延时多少时间,开始计时任务,单位ms
    </property>
    <property name="repeatInterval">
     <value>6000</value>
        这里是每隔多长时间就进行一次计时任务,单位ms
    </property>
   </bean>
-->
<!-- 这种配置可以精确几点执行定时任务 -->
<bean id="cronQuartzClock" class="org.springframework.scheduling.quartz.CronTriggerBean">
   <property name="jobDetail">
    <ref bean="quartzClock"></ref>
   </property>
   <property name="cronExpression">
    <value>0 52 22 * * ?</value><!--定时在任何月份任何日期(不管星期几)的22点52分0秒 -->
     <!-- 一个cron表达式有到少6个(也可能是7个)由空格分隔的时间元素.从左到右,这些元素的定义如下:
      1.秒(0-59)
      2.分钟(0-59)
      3.小时(0-23)
      4.月份中的是期(1-31)
      5.月份(1-12或SUN-DEC)
      6.星期中的日期(1-7或SUN-SAT)
      7.年份(1970-2099)
     例子:
      0 0 10,14,16 * * ? 每天上午10点,下午2点和下午4点
      0 0,15,30,45 * 1-10 * ? 每月前10天每隔15分钟
      30 0 0 1 1 ? 2012 在2012年1月1日午夜过30秒时
      0 0 8-5 ? * MON-FRI 每个工作日的工作时间
    
      - 区间
      * 通配符
      ? 你不想设置那个字段
     -->
   </property>
 
</bean>
<!--第三步 启动定时任务,注意这里的ref bean -->
<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
   <property name="triggers">
    <list>
     <ref bean="cronQuartzClock"></ref>
    </list>
   </property>
</bean>
</beans>
分享到:
评论

相关推荐

    sping定时器小例子

    3. **集成Quartz Scheduler**:Spring可以与Quart Scheduler进行集成,使用Quartz提供的强大功能来实现定时任务。 #### 三、示例分析 在给出的示例中,作者使用了Spring结合Quartz Scheduler的方式实现了一个简单...

    Sping视频2 Sping视频2Sping视频2Sping视频2

    Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2Sping视频2

    javaWeb Sping之OpenSymphony的Quartz(定时器)

    综上所述,JavaWeb Spring结合OpenSymphony的Quartz定时器为开发者提供了强大且灵活的定时任务解决方案,适用于各种需要定时执行的任务场景。通过合理的配置和设计,可以极大地提高系统的自动化程度和效率。

    mybatis+sping mvc mybatis+sping mvc

    mybatis+sping mvc mybatis+sping mvcmybatis+sping mvc mybatis+sping mvcmybatis+sping mvc mybatis+sping mvcmybatis+sping mvc mybatis+sping mvcmybatis+sping mvc mybatis+sping mvc

    sping3 spring-beans 类图 chm

    sping3 spring-beans 类图 chm

    Sping的jar包

    2. Log4j-1.2.17:Log4j是Apache的另一个著名项目,是一个广泛使用的日志工具,提供灵活的日志级别、输出格式和多种Appender(输出目的地),如控制台、文件、数据库等。它的配置可以通过XML或.properties文件进行,...

    sping 技术的主要讲解

    sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术sping 技术

    spingmvc+hibernate+sping

    sping+spingmvc+hibernate 在学习的时候毕业前夕自己根据资料和以前自己写的项目整合的套,对包哪些进行了选择,主要对事物aop的配置进行了配置,个人感觉不错,共享下,另外还对spingmvc,mybatis的整合项目也有,在...

    sping 3 经典教程

    - 学会使用Spring框架解决实际开发中的常见问题。 - 掌握如何设计和实现基于Spring的应用程序架构。 - 了解并实践Spring框架的最新特性和最佳实践。 ### 结论 《Spring 3经典教程》是一部全面、深入且实用的Spring...

    sping配置jar包

    这些 jar 包的整合使用,使得开发者可以充分利用 Spring 提供的各种特性,如 DI(依赖注入)、AOP、事务管理等,同时也能享受到 Struts 2 的 MVC 结构带来的便利。只需将这些库添加到项目的类路径中,即可开始构建...

    Sping最新资源包

    Spring通过HibernateTemplate或SessionFactoryBean,使得在应用中使用Hibernate变得更加方便,同时Spring还提供了事务管理,使得在多层架构中处理数据库事务更加简单。 "spring-framework-4.0.8.RELEASE"这个文件名...

    sping配置用户密码加密解密

    在Spring中,我们通常会创建一个自定义的`PasswordEncoder`实现,例如使用Java Cryptography Extension (JCE) 来执行DES加密操作。 2. **Spring Security配置** - **applicationContext.txt**:这是Spring的...

    sping代码sping代码

    Bean的生命周期包括实例化、初始化、使用和销毁四个阶段。Spring提供了各种生命周期回调方法,如`@PostConstruct`和`@PreDestroy`注解,以及InitializingBean和DisposableBean接口,供开发者自定义Bean的初始化和...

    sping-day01

    Sping框架概述使用Spring的IOC解决耦合Sping文件中提示的配置。

    sping结构的一个hello world例子

    Spring框架是Java开发中广泛使用的轻量级框架,它的核心特性包括依赖注入(Dependency Injection,DI)和面向切面编程(Aspect-Oriented Programming,AOP)。在这个"Spring结构的一个hello world例子"中,我们将...

    sping MVC 简单小例子

    "程序,同时涵盖自定义Filter和ServletResponse的使用。 首先,让我们从Spring MVC的基本结构开始。一个典型的Spring MVC应用由以下几个核心组件构成: 1. **DispatcherServlet**:这是Spring MVC的前端控制器,...

    Sping.net&NHibernate;&Common;.Logging&log4net;

    标题 "Sping.net&NHibernate;&Common;.Logging&log4net;" 暗示了这是一个关于集成Spring.NET、NHibernate、Common.Logging以及log4net的软件开发资源包。这个组合通常用于构建基于.NET Framework的企业级应用程序,...

Global site tag (gtag.js) - Google Analytics