温馨提示:您的每一次转载,体现了我写此文的意义!!!烦请您在转载时注明出处http://www.blogjava.net/sxyx2008/谢谢合作!!!

雪山飞鹄

温馨提示:您的每一次转载,体现了我写此文的意义!!!烦请您在转载时注明出处http://www.blogjava.net/sxyx2008/谢谢合作!!!

BlogJava 首页 新随笔 联系 聚合 管理
  215 Posts :: 1 Stories :: 674 Comments :: 0 Trackbacks
        功能描述:刚开始接触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(必须的)
        只贴出核心代码:
        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" class="org.springframework.scheduling.quartz.JobDetailBean">
        
<property name="jobClass">
            
<!-- 实现了org.springframework.scheduling.quartz.QuartzJobBean的JobBean -->
            
<value>com.ssh.quantz.SendEmailJob</value>
        
</property>
        
<!-- 调用业务逻辑 -->
        
<!--  
        <property name="jobDataAsMap">
            <map>
                <entry key="biz">
                    <ref bean="users"/>
                </entry>
            </map>
        </property>
        
-->
    
</bean>

    
<!-- 触发任务条件 -->
    
<bean id="simpletriggerbean" class="org.springframework.scheduling.quartz.SimpleTriggerBean">
        
<property name="jobDetail" 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>


                        
posted on 2010-07-13 18:03 雪山飞鹄 阅读(6220) 评论(2)  编辑  收藏 所属分类: spring

Feedback

# re: Spring整合Quartz定时发送邮件 2010-07-13 23:28 quartz
学习了  回复  更多评论
  

# re: Spring整合Quartz定时发送邮件 2010-07-19 13:20 roywong
不错。学习了
org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean
+
org.springframework.scheduling.quartz.CronTriggerBean
+
org.springframework.scheduling.quartz.SchedulerFactoryBean
是不是更实用更灵活些

  回复  更多评论
  


只有注册用户登录后才能发表评论。


网站导航: