Spring整合Quartz定時發送郵件


功能描述:剛開始接觸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="cronExpression">
              <value>0 47 10 ? * *</value>    //每天10點47觸發
         </property>
         
     </bean>
     
     <!-- 啟動調度 -->
     <bean id="startQuartz" class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
         <property name="triggers">
             <list>
                 <ref bean="simpletriggerbean"/>
             </list>
         </property>
     </bean>

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM