`
qinglongren
  • 浏览: 31634 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

spring 定时器运用

阅读更多
一个简单的spring 定时期。
所需jar包:

web.xml
<?xml version="1.0" encoding="UTF-8"?>
<web-app xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:web="http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd" id="WebApp_ID" version="2.5">
  <display-name>Timer</display-name>
         <context-param>
		<param-name>contextConfigLocation</param-name>
		<param-value>
			classpath:com/spring.xml
		</param-value>
	</context-param>
	<listener>
		<listener-class>		org.springframework.web.context.ContextLoaderListener
		</listener-class>
	</listener>
</web-app>

spring.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:tx="http://www.springframework.org/schema/tx"
	xmlns:context="http://www.springframework.org/schema/context"
	xsi:schemaLocation="   
	 http://www.springframework.org/schema/context http://www.springframework.org/schema/context/spring-context-2.5.xsd
	  http://www.springframework.org/schema/tx http://www.springframework.org/schema/tx/spring-tx-2.5.xsd
	http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsd">
	<!-- 注解注入bean -->
	<context:component-scan base-package="com" />
	<bean id="methodInvokingJobDetail"
		class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
		<property name="targetObject">
			<ref bean="print" />
		</property>
		<property name="targetMethod">
			<value>start</value>
		</property>
	</bean>
	<!-- 配置触发器 -->
	<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">
		<!--
			这里不可以直接在属性jobDetail中引用taskJob,因为他要求的是一个jobDetail类型的对象,所以我们得通过MethodInvokingJobDetailFactoryBean来转一下
		-->
		<property name="jobDetail">
			<ref bean="methodInvokingJobDetail" />
		</property>
		<!-- 每天的9点到18点每隔1分钟触发-->
		<property name="cronExpression">
			<value>0 * 9-18 * * ?</value>
		</property>

	</bean>

	<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
		<!-- 添加触发器 -->
		<property name="triggers">
			<list>
				<ref local="cronTrigger" />
			</list>
		</property>
	</bean>

</beans>



xml里文件里描述的一个自定义的bean源码:
package com.isoftstone.timer;


import org.springframework.stereotype.Service;
@Service("print")
public class PrintTask  {
  public void start(){
	  System.out.println("admin----");
  }

}

那里就是你需要写的一些任务了。
<property name="cronExpression">
			<value>0 * 9-18 * * ?</value>
		</property>


这个地方就是要什么时候触发。
一些值的例子和含义:
字段允许值允许的特殊字符
秒 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触发。
到此结束。简单吧。
  • 大小: 10.4 KB
  • Timer.rar (5.9 KB)
  • 描述: 源代码
  • 下载次数: 12
分享到:
评论

相关推荐

    spring 定时器完整实例 demo

    下面是一个完整的Spring定时器示例: 1. **配置Spring配置类** 首先,我们需要创建一个配置类,启用定时任务支持,并提供一个`ThreadPoolTaskScheduler`实例,用于调度任务。 ```java @Configuration @...

    spring定时器3.0之前和3.0之后以及相应的项目实例

    对于初学者来说,理解这些实例有助于深入掌握Spring的定时任务管理,并能够在实际项目中灵活运用。同时,随着Spring的不断迭代,推荐使用更现代的Spring Task,因为它具有更好的灵活性和扩展性,同时也更容易与其他...

    Spring定时器的实例.pdf

    《Spring定时器的实例》 在Java开发中,Spring框架提供了强大的定时任务处理能力,使得开发者可以方便地实现定时任务的调度。本文将深入解析一个基于Spring的定时器实例,名为ScheduledTimer,以及相关的类和方法,...

    spring定时器的一个小示例

    这个“spring定时器的一个小示例”提供了一个简单的应用实例,演示了如何在Spring环境中设置和运行定时任务。由于压缩包中未包含jar包,我们需要额外添加依赖以确保程序正常运行。 首先,我们要了解Spring的定时...

    spring动态定时器封装

    本文将深入探讨如何在Spring框架中进行动态定时器的封装,结合标签"源码"和"工具",我们将探讨Spring与Quartz库的整合,以及如何通过源码理解其实现机制。 首先,让我们了解一下Spring的定时任务支持。Spring提供了...

    spring配置定时器

    ### 一、Spring定时器概述 #### 1.1 定时器简介 Spring框架提供了多种实现定时任务的方式,包括但不限于`@Scheduled`注解、`ScheduledExecutorService`以及`Timer`类。其中,基于`Timer`类的定时任务配置较为传统但...

    Spring中配置定时器详解.doc

    在IT领域,特别是Java开发中,Spring框架因其强大的功能和灵活性而备受青睐。其中,Spring提供的定时任务功能,使得开发者能够在应用中轻松...希望本文能帮助你在项目中灵活运用Spring定时器,提高开发效率和应用性能。

    Spring的定时调用

    标题“Spring的定时调用”涉及的是Spring框架中的任务调度功能,这在企业级应用开发中非常常见,用于实现周期性的任务执行,如数据同步、日志清理等。...结合源码阅读和相关工具,可以更好地理解和运用这一功能。

    Spring的定时器的讲解

    Spring的定时器,也称为Spring Task或者Spring Scheduler,是用于执行预定任务的一个强大工具,它允许开发者灵活地配置和管理周期性的任务。 首先,让我们了解Spring定时任务的基础。Spring通过`@Scheduled`注解和`...

    定时器 quartz 和 spring

    标题 "定时器 quartz 和 spring" 涉及到的是两个在Java开发中非常重要的框架——Quartz和Spring。Quartz是一个开源的工作调度框架,它允许开发者创建、调度和执行任务,而Spring则是一个功能丰富的应用程序框架,...

    spib-mvc框架,内含定时器配置用法

    Spring 定时器与其他定时框架对比 Spring 提供的定时任务功能相比 Quartz 或者 Spring Batch 等其他定时框架,集成更加简单,且不需要额外管理定时任务的运行状态,适合小型和中型项目。对于大型复杂项目,可能...

    Java定时器的使用 Java程序

    在实际开发中,Java定时器常与其他框架结合使用,如Spring的`@Scheduled`注解或Quartz等高级定时任务库,以实现更复杂的定时任务需求。 通过以上的讲解,你应该对Java定时器的使用有了深入的理解。在实际项目中,...

    [Pro.Spring.3(2012)].Clarence.Ho.文字版

    本章讲解了如何使用Spring框架进行定时任务和计划任务的管理,包括如何配置定时器、触发器、任务执行器等组件。读者将掌握Spring定时任务的配置和使用技巧,以及如何监控和管理任务执行状态。 ### 第16章:使用...

    spring整合quartz动态定时任务demo-spring-quartz-demo.zip

    这些代码示例可以帮助我们更好地理解Spring和Quartz的整合过程,并在实际项目中灵活运用。 通过学习这个示例,开发者能够掌握如何在Spring应用中设置和管理定时任务,这对于构建有定时需求的服务,如后台数据处理、...

    基于Spring-Boot的排队功能Demo

    基于Spring-Boot的排队功能Demo,通过线程同步实现简单的排队功能,运用了多线程同步技术,可通过PostMan进行接口的并发访问模拟,在调用接口时需要在Head里加入openId参数作为客户访问的唯一标识,房间状态由定时器...

    Timer定时器代码.zip

    在大型企业级应用如Spring、Struts2和Mybatis的组合框架下,`Timer`和`TimerTask`可以发挥重要作用,比如进行后台数据处理、定期检查更新、发送通知等。下面我们将详细探讨这两个类以及如何在实际项目中运用它们。 ...

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

    综上所述,解决Spring Quartz在负载均衡环境下的重复执行问题,需要综合运用Quartz的集群特性、数据库Job Store、公平调度以及应用层面的设计策略。通过这些方法,可以确保在多服务器环境中,定时任务的执行有序且...

    定时器quartZ

    Quartz是Java领域一款强大的开源任务调度框架,用于在应用程序中安排和执行任务。它允许开发者灵活地定义作业(Jobs)和...而`spring_pro_03`项目则为你提供了一个实际操作的起点,帮助你更好地理解和运用这些概念。

    Java SSM开发大众点评后端

    3Spring定时器、拦截器的应用 4跟踪Spring源码,追踪解决问题 前后端分离开发 手把手演示如何串联React技术栈App和管理后台 让后台Form表单提交符合RESTful规范 比较SPA和传统后台两种会话方式:Token和Session ...

Global site tag (gtag.js) - Google Analytics