首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 软件管理 > 软件架构设计 >

Spring调整Quartz定时发送邮件

2012-08-08 
Spring整合Quartz定时发送邮件原文地址:http://www.blogjava.net/sxyx2008/archive/2010/07/13/325985.htm

Spring整合Quartz定时发送邮件
原文地址:http://www.blogjava.net/sxyx2008/archive/2010/07/13/325985.html
另一个参考例子:http://www.blogjava.net/jxhkwhy/archive/2007/10/26/156115.html
附件有所需要的jar:

功能描述:刚开始接触Quartz,试着用Quartz整合spring实现每隔一分钟发送一封邮件连续发送10次
        核心jar:
                    邮件发送:commons-email-1.2.jar mail.jar(必须的)
                    quartz:quartz-all-1.8.3.jar quartz-all-1.8.3/lib/下所有jar
                    spring:spring-context-support.ajr(必须的)
                            activation.jar
        只贴出核心代码:
        Email发送:使用apache commons-email跟mail

package com.ssh.commonsemail;import java.util.ArrayList;import java.util.Date;import java.util.List;import javax.mail.internet.InternetAddress;import org.apache.commons.mail.SimpleEmail;/** * 功能描述:此代码主要实现邮件发送功能 * @author coder * */public class SendSimplEmail {            public static void sendMail()throws Exception{        List<InternetAddress> list=new ArrayList<InternetAddress>();        list.add(new InternetAddress("313698683@qq.com"));        list.add(new InternetAddress("184675420@qq.com"));        SimpleEmail email=new SimpleEmail();        email.setFrom("184675420@163.com");        email.setCharset("utf-8");        email.setSentDate(new Date());        email.setSubject("测试Quartz");        email.setHostName("smtp.163.com");        email.setAuthentication("xxxx", "xxxx");        email.setTo(list);        email.setContent("<h1>Hello,把凤姐许配给你,你看咋样?</h1>", "text/html;charset=utf-8");        email.send();    }        }


        定义调度工作任务:继承自org.springframework.scheduling.quartz.QuartzJobBean次类在spring-context-support.jar中
package com.ssh.quantz;import org.quartz.JobExecutionContext;import org.quartz.JobExecutionException;import org.springframework.scheduling.quartz.QuartzJobBean;import com.ssh.commonsemail.SendSimplEmail;/** * 发送email任务 * @author coder * */public class SendEmailJob extends QuartzJobBean{        @Override    protected void executeInternal(JobExecutionContext context)            throws JobExecutionException {        try {            //调用邮件发送代码            SendSimplEmail.sendMail();        } catch (Exception e) {            e.printStackTrace();        }    }    }


        spring核心配置文件
<!-- 定义调度工作任务 -->    <bean id="quantzjobBean" ref="quantzjobBean"></property>        <!-- 延迟一分钟启动 -->        <property name="startDelay">            <value>60000</value>        </property>        <!-- 每隔2分钟调用一次 -->        <property name="repeatInterval">            <value>60000</value>        </property>        <!-- 执行10次 -->        <property name="repeatCount">            <value>10</value>        </property>            </bean>        <!-- 启动调度 -->    <bean id="startQuartz" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">        <property name="triggers">            <list>                <ref bean="simpletriggerbean"/>            </list>        </property>    </bean>

热点排行