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("[email protected]"));
list.add(new InternetAddress("[email protected]"));
SimpleEmail email=new SimpleEmail();
email.setFrom("[email protected]");
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>

Spring整合Quartz定时发送邮件,布布扣,bubuko.com

时间: 2024-08-27 08:39:54

Spring整合Quartz定时发送邮件的相关文章

Spring整合Quartz实现定时任务调度

一. 核心类 1. Job: 表示一个工作, 具体的业务处理都在这里. 2. JobDetail: 表示一个具体的可执行的调度程序. 3. Trigger: 用于调度参数的配置(什么时候去调用Job). 4. Scheduler: 表示一个调度容器, 容器中有一个线程池, 用来并行调度执行每个作业, 一个调度容器中可以注册多个JobDetail和Trigger. 二. 整合spring 1. 代码结构图: 2. applicationContext.xml <?xml version="1

spring整合quartz并持久化

spring整合quartz有两种方式: 一.常见是使用配置文件,将定时任务保存到内存中 简单示例: <!-- 短信催还提醒任务调度 --> <bean id="overdueRecall" class="com.sursen.souba.ddlibserve.quartz.OverdueRecallTimerTask" /> <!--定义定时执行overdueRecallTimerTask 这个bean中的overdueRecall(

Spring整合Quartz定时任务 在集群、分布式系统中的应用(Mysql数据库环境)

Spring整合Quartz定时任务 在集群.分布式系统中的应用(Mysql数据库环境) 转载:http://www.cnblogs.com/jiafuwei/p/6145280.html 单个Quartz实例能给予你很好的Job调度能力,但它不能满足典型的企业需求,如可伸缩性.高可靠性满足.假如你需要故障转移的能力并能运行日益增多的 Job,Quartz集群势必成为你应用的一部分了.使用 Quartz 的集群能力可以更好的支持你的业务需求,并且即使是其中一台机器在最糟的时间崩溃了也能确保所有的

Spring quartz Job不能依赖注入,Spring整合quartz Job任务不能注入

Spring quartz Job不能依赖注入,Spring整合quartz Job任务不能注入 Spring4整合quartz2.2.3中Job任务使用@Autowired不能注入 >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>> ©Copyright 蕃薯耀 2017年9月6日 http://ww

使用Spring整合Quartz轻松完成定时任务

一.背景 上次我们介绍了如何使用Spring Task进行完成定时任务的编写,这次我们使用Spring整合Quartz的方式来再一次实现定时任务的开发,以下奉上开发步骤及注意事项等. 二.开发环境及必须jar包依赖 1.开发环境 Spring 4.2.6.RELEASE Maven 3.3.9 Jdk 1.7 Idea 15.04 2.必不可少jar包依赖 1 <dependency> 2 <groupId>org.springframework</groupId> 3

spring整合quartz时间任务调度框架

spring整合quartz框架 1.创建maven工程 2.导入jar包(pom.xml) <dependencies> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>2.2.1</version> </dependency> <dependency&

java 框架-spring 整合 quartz 框架 service层 注入不了job 类

    1.  spring  + quartz  启动 停止 添加job 功能  一 maven添加quartz  的jar 二 代码区 applicationContext.xml  导入 quartz.xml   <import resource="classpath:spring/quartz.xml"/> <?xml version="1.0" encoding="UTF-8"?> <beans xmlns

Spring整合quartz框架实现任务定时调度

1.  首先需要引入需要的jar包,如上图所示. 2. 编写需要定时调度的测试类: package com.jp.task; import java.util.Date; public class TestTask{ private static int counter = 0; protected void execute() { long ms = System.currentTimeMillis(); System.out.println("\t\t" + "=====

Spring整合Quartz框架实现定时任务跑批(Maven完整版)

Quartz 介绍Quartz is a full-featured, open source job scheduling service that can be integrated with, or used along side virtually any Java application - from the smallest stand-alone application to the largest e-commerce system. Quartz can be used to