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

Spring邮件抽象层和Spring中的定时调度的整合(三)

    博客分类:
  • java
阅读更多
二.Spring的定时调度

Spring的定时调度有两种:

1.  使用OpenSymphony Quartz 调度器

2.  使用JDK Timer支持类



1.  使用OpenSymphony Quartz 调度器

Quartz调度器有两种:1. 使用JobDetailBean

                               2. 使用MethodInvokingJobDetailFactoryBean

把两种全写在一起:

例子:

1)  配置QuartzTimer.xml

WEB-INF/conf/QuartzTimer.xml

<?xml version="1.0" encoding="UTF-8"?>

<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"

"http://www.springframework.org/dtd/spring-beans.dtd">

<beans>



<!-- JobDetail 对象保存运行一个任务所需的全部信息 -->

<bean name="exampleJob" class="org.springframework.scheduling.quartz.JobDetailBean">

  <property name="jobClass" value="example.ExampleJob" />

  <property name="jobDataAsMap">

    <map>

      <entry key="timeout" value="5" />

    </map>

  </property>

</bean>





<!-- 通常情况下,你只需要调用特定对象上的一个方法即可实现任务调度 -->

<bean name="exampleBusinessObject" class="example.ExampleBusinessObject" >

<property name="simplesender" ref="simplesender" />

<property name="ordermanager" ref="ordermanager" />

</bean>



<bean id="jobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">

<!-- MethodInvokingJobDetailFactoryBean引的方法为方法调用工作详细工厂BEAN -->

  <property name="targetObject" ref="exampleBusinessObject" /><!-- 指定要执行的对象 -->

  <property name="targetMethod" value="doIt" /> <!-- 指定要执行对象中的方法 -->

</bean>





<!-- 调度这些jobs,需要使用triggers ,Spring提供两个子类triggers,分别为CronTriggerBean和SimpleTriggerBean-->

<!—simpleTrigger 设置隔多久就重复执行-->

<bean id="simpleTrigger" class="org.springframework.scheduling.quartz.SimpleTriggerBean">

    <!-- see the example of method invoking job above -->

    <property name="jobDetail" ref="jobDetail" />

    <!-- 初始化时间为10秒 -->

    <property name="startDelay" value="10000" />

    <!-- 每50秒重复一次 -->

    <property name="repeatInterval" value="20000" />

</bean>

<!—cronTrigger 设置某天某时某秒起动-->

<bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerBean">

    <property name="jobDetail" ref="exampleJob" />

    <!-- run every morning at 6 AM -->

    <property name="cronExpression" value="0 31 11 * * ?" />

</bean>





<!-- 我们创建了两个triggers,其中一个开始延迟10秒以后每50秒运行一次,另一个每天早上6点钟运行。

                            我们需要创建一个SchedulerFactoryBean来最终实现一切 -->

<bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">

    <property name="triggers">

        <list>

          <ref bean="cronTrigger" />

      

            <ref bean="simpleTrigger" />

        </list>

    </property>

</bean>

</beans>

2)配置web.xml



       <context-param>

        <param-name>contextConfigLocation</param-name>

        <param-value>

            <!--WEB-INF/dataAccessContext.xml,-->

            WEB-INF/conf/applicationContext.xml,

            WEB-INF/conf/MailSender.xml,

           WEB-INF/conf/QuartzTimer.xml

        </param-value>

    </context-param>
分享到:
评论

相关推荐

    ss-deamon:Spring和qz定时调度任务的整合

    ss-deamonSpring和qz定时调度任务的整合系统有很多个mysql和mongo库,用户中心,订单中心,库存中心。因为没有统一的抽象业务层,所以定时任务需要直接连接这些不同的数据库。同时考虑到后期会有很多不同的定时任务...

    Spring-Reference_zh_CN(Spring中文参考手册)

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...

    Spring中文帮助文档

    6.8.1. 在Spring中使用AspectJ进行domain object的依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ加载时织入(LTW) 6.9. 更多资源 7...

    Spring 2.0 开发参考手册

    6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来配置AspectJ的切面 6.8.4. 在Spring应用中使用AspectJ Load-time weaving(LTW) 6.9. ...

    spring4.3.2参考文档(英文)

    Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。 Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 Spring ...

    Spring.3.x企业应用开发实战(完整版).part2

    13.6.4 Web应用程序中调度器的启动和关闭问题 13.7 小结 第14章 使用OXM进行对象XML映射 14.1 认识XML解析技术 14.1.1 什么是XML 14.1.2 XML的处理技术 14.2 XML处理利器:XStream 14.2.1 XStream概述 14.2.2 快速...

    精通spring--源代码

    线程池和任务调度集成。Java消息服务集成,Java Mail集成,远程服务集成。Java管理扩展集成,Java EE连接器架构集成  专注于Spring2.5高级特性的研究。包括忘却的Spring高级话题,Spring最佳实践  对Spring2.5内置...

    spring chm文档

    Spring Framework 开发参考手册 Rod Johnson Juergen Hoeller Alef Arendsen Colin Sampaleanu Rob Harrop Thomas Risberg Darren Davison Dmitriy Kopylenko Mark Pollack Thierry Templier Erwin ...

    精通Spring(书签)

    线程池和任务调度集成。Java消息服务集成,Java Mail集成,远程服务集成。Java管理扩展集成,Java EE连接器架构集成  专注于Spring2.5高级特性的研究。包括忘却的Spring高级话题,Spring最佳实践  对Spring2.5内置...

    Spring API

    2. Spring 2.0和 2.5的新特性 2.1. 简介 2.2. 控制反转(IoC)容器 2.2.1. 新的bean作用域 2.2.2. 更简单的XML配置 2.2.3. 可扩展的XML编写 2.2.4. Annotation(注解)驱动配置 2.2.5. 在classpath中自动搜索组件...

    Spring in Action(第二版 中文高清版).part2

    第三部分 Spring客户端 第13章 处理Web请求 13.1 开始Spring MVC之旅 13.1.1 请求生命中的一天 13.1.2 配置DispatcherServlet 13.1.3 Spring MVC概述 13.2 将请求映射到控制器 13.2.1 使用SimpleUrlHandler ...

    Spring in Action(第二版 中文高清版).part1

    第三部分 Spring客户端 第13章 处理Web请求 13.1 开始Spring MVC之旅 13.1.1 请求生命中的一天 13.1.2 配置DispatcherServlet 13.1.3 Spring MVC概述 13.2 将请求映射到控制器 13.2.1 使用SimpleUrlHandler ...

    Spring3.x企业应用开发实战(完整版) part1

    13.6.4 Web应用程序中调度器的启动和关闭问题 13.7 小结 第14章 使用OXM进行对象XML映射 14.1 认识XML解析技术 14.1.1 什么是XML 14.1.2 XML的处理技术 14.2 XML处理利器:XStream 14.2.1 XStream概述 14.2.2 快速...

    Spring任务执行和调度

    Spring框架分别使用TaskExecutor和TaskScheduler接口提供异步执行和任务调度的抽象。Spring还提供了这些接口的实现,这些接口支持线程池或将其委托给应用服务器环境中的CommonJ。 Spring2.0开始引入的新的抽像。...

    精通Spring (书签版)

    线程池和任务调度集成。Java消息服务集成,Java Mail集成,远程服务集成。Java管理扩展集成,Java EE连接器架构集成  专注于Spring2.5高级特性的研究。包括忘却的Spring高级话题,Spring最佳实践  对Spring2.5内置...

    Spring in Action(第2版)中文版

    第三部分spring客户端 第13章处理web请求 13.1开始springmvc之旅 13.1.1请求生命中的一天 13.1.2配置dispatcherservlet 13.1.3springmvc概述 13.2将请求映射到控制器 13.2.1使用simpleurlhandlermapping ...

    精通Spring(书签版)

    线程池和任务调度集成。Java消息服务集成,Java Mail集成,远程服务集成。Java管理扩展集成,Java EE连接器架构集成  专注于Spring2.5高级特性的研究。包括忘却的Spring高级话题,Spring最佳实践  对Spring2.5内置...

    Spring面试题

    Spring 上下文包括企业服务,例如 JNDI、EJB、电子邮件、国际化、校验和调度功能。 ☆ Spring AOP:通过配置管理特性,Spring AOP 模块直接将面向方面的编程功能集成到了 Spring 框架中。所以,可以很容易地使 ...

    spring集成各种常见功能

    这些适配器提供了比 Spring 对远程处理、消息传递和调度的支持更高级别的抽象。这个jar包将这一概念更进一步,其中 POJO 使用消息传递范例连接在一起,并且各个组件可能不知道应用程序中的其他组件。这样的应用程序...

    经典JAVA.EE企业应用实战.基于WEBLOGIC_JBOSS的JSF_EJB3_JPA整合开发.pdf

    该案例采用目前最流行、最规范的java ee架构,整个应用分为jpa实体层、eao层、业务逻辑层、mvc层和视图层,各层之间分层清晰,层与层之间以松耦合的方法组织在一起。该案例既提供了ide无关的、基于ant管理的项目源码...

Global site tag (gtag.js) - Google Analytics