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

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

    博客分类:
  • java
阅读更多
3)              写类

package example;



import mail.*;



public class ExampleBusinessObject {



      // properties and collaborators

      IOrderManager ordermanager;

      ISenderMail simplesender;

      public void doIt() {

         try {

             //简单的邮件发信

             //simplesender.sendMail();

             //使用回调函数发信

             ordermanager.placeOrder(new Customer("XXX@XXX.com",

                                    "姓", "名", "邮件中的内容"));

             System.out.println("O,发送Email成功了....");



       } catch (Exception e) {

           System.out.println(e.getMessage());

           // TODO: handle exception

       }

       

  

      }

    public ISenderMail getSimplesender() {

       return simplesender;

    }

    public void setSimplesender(ISenderMail simplesender) {

       this.simplesender = simplesender;

    }

    public IOrderManager getOrdermanager() {

       return ordermanager;

    }

    public void setOrdermanager(IOrderManager ordermanager) {

       this.ordermanager = ordermanager;

    }

}

package example;



import org.quartz.JobExecutionContext;

import org.quartz.JobExecutionException;

import org.springframework.scheduling.quartz.QuartzJobBean;



public class ExampleJob extends QuartzJobBean {



  private int timeout;



  /**

   * Setter called after the ExampleJob is instantiated

   * with the value from the JobDetailBean (5)

   */

  public void setTimeout(int timeout) {

    this.timeout = timeout;

  }



  protected void executeInternal(JobExecutionContext ctx) throws JobExecutionException {

    

      System.out.println("FOR TEST!!!");

    

      // do the actual work

  }

}

2. 使用JDK Timer支持类

       1).配置JDKTimer.xml

                            位置:WEB-INF/conf/JDKTimer.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="checkEmail" class="example.CheckEmailAddresses">

    <property name="emailAddresses">

       <list>

           <value>test@springframework.org</value>

           <value>foo@bar.com</value>

           <value>john@doe.net</value>

       </list>

    </property>

</bean>



<bean id="scheduledTask"

    class="org.springframework.scheduling.timer.ScheduledTimerTask">

    <!-- wait 10 seconds before starting repeated execution -->

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

    <!-- run every 50 seconds -->

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

    <property name="timerTask" ref="checkEmail" />

</bean>



<bean id="timerFactory" class="org.springframework.scheduling.timer.TimerFactoryBean">

    <property name="scheduledTimerTasks">

        <list>

            <!-- see the example above -->

            <ref bean="scheduledTask" />

        </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/JDKTimer.xml,

           WEB-INF/conf/QuartzTimer.xml

        </param-value>

    </context-param>



3).书写类  CheckEmailAddresses.java

package example;



import java.util.List;

import java.util.TimerTask;



public class CheckEmailAddresses extends TimerTask {

      private List emailAddresses;

      public void setEmailAddresses(List emailAddresses) {

        this.emailAddresses = emailAddresses;

      }

      public void run() {

        System.out.println("FOR TEST JDKTIMER");

      }

}

OK,所有的工作就做完了,配置了多种邮件抽象和定时调度,可以帮助理解其中几种配置在项目中的需求。

按上述配置好后,就可以运行TOMCAT了,不过请注意:

             在配置项目的时候要在CLASSPATH中加载额外的几个JAR包,这是类文件和配置文件所必须用到的:

                            Activation.jar

                            Javamail.jar

                            Quart.jar

                            Commons-collection-3.2.jar

分享到:
评论

相关推荐

    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的核心 第1章 开始Spring之旅 1.1 Spring是什么 1.2 开始Spring之旅 1.3 理解依赖注入 1.3.1 依赖注入 1.3.2 DI应用 1.3.3 企业级应用中的依赖注入 1.4 应用AOP 1.4.1 AOP介绍 1.4.2 AOP...

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

    第一部分 Spring的核心 第1章 开始Spring之旅 1.1 Spring是什么 1.2 开始Spring之旅 1.3 理解依赖注入 1.3.1 依赖注入 1.3.2 DI应用 1.3.3 企业级应用中的依赖注入 1.4 应用AOP 1.4.1 AOP介绍 1.4.2 AOP...

    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 in Action(第2版)中文版

    16.5spring中带有dwr的支持ajax的应用程序 16.5.1直接web远程控制 16.5.2访问spring管理的beandwr 16.6小结 附录a装配spring a.1下载spring a.1.1研究spring发布 a.1.2构建自己的类路径 a.2把spring添加为一...

    精通Spring (书签版)

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

    精通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