Spring整合Quartz定时发送邮件
功能描述:刚开始接触Quartz,试着用Quartz整合spring实现每隔一分钟发送一封邮件连续发送10次
核心jar:
邮件发送:commons-email-1.2.jar mail.jar(必须的)
quartz:quartz-all-1.8..jar quartz-all-1.8./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> ? * *</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定时发送邮件的更多相关文章
- spring利用javamail,quartz定时发送邮件 <转>
原文地址:spring利用javamail,quartz定时发送邮件 <转>作者:物是人非 spring提供的定时发送邮件功能,下面是一个简单的例子以供大家参考,首先从spring配置文件 ...
- spring整合quartz并持久化
spring整合quartz有两种方式: 一.常见是使用配置文件,将定时任务保存到内存中 简单示例: <!-- 短信催还提醒任务调度 --> <bean id="overd ...
- Spring整合Quartz定时任务 在集群、分布式系统中的应用(Mysql数据库环境)
Spring整合Quartz定时任务 在集群.分布式系统中的应用(Mysql数据库环境) 转载:http://www.cnblogs.com/jiafuwei/p/6145280.html 单个Q ...
- 使用spring整合Quartz实现—定时器
使用spring整合Quartz实现—定时器(Maven项目做演示) 不基于特定的基类的方法 一,开发环境以及依赖的jar包 Spring 4.2.6.RELEASE Maven 3.3.9 Jdk ...
- 基于spring的quartz定时框架,实现简单的定时任务功能
在项目中,经常会用到定时任务,这就需要使用quartz框架去进行操作. 今天就把我最近做的个人主页项目里面的定时刷新功能分享一下,很简单. 首先需要配置一个配置文件,因为我是基于spring框架的,所 ...
- 初识quartz 并分析 项目中spring整合quartz的配置【原创+转载】
初识quartz 并分析 项目中spring整合quartz的配置[原创+转载]2018年01月29日 12:08:07 守望dfdfdf 阅读数:114 标签: quartz 更多个人分类: 工具 ...
- spring整合quartz框架
spring整合quartz: 网上也有很多教程,好多都是基于配置方式,我们使用当然怎么简单就怎么用,所以这里介绍基于注解方式整合quartz.前提:你需要有一个能运行的web项目. 1.引依赖: & ...
- Spring整合Quartz (cronTrigger和simpleTrigger实现方法)
Spring整合Quartz (cronTrigger和simpleTrigger实现方法) 之前有记录过一次springboot整合Quartz的文章,由于偶尔一次自己使用spring需要整合Qua ...
- 使用Spring整合Quartz轻松完成定时任务
一.背景 上次我们介绍了如何使用Spring Task进行完成定时任务的编写,这次我们使用Spring整合Quartz的方式来再一次实现定时任务的开发,以下奉上开发步骤及注意事项等. 二.开发环境及必 ...
随机推荐
- iOS文件处理介绍(一)
一.在Documents.tmp和Library中存储文件 Documents:用于存储应用程序中经常需要读取或写入的常规文件. tmp:用于存储应用程序运行时生成的文件.(随着应用程序的关闭失去了利 ...
- block基本使用和底层
block基础使用语法 一.block与函数的对比 定义函数指针 int (*myFn)(); 定义Blocks int (^MyBlocks)(int,int); 调用函数指针 (*myFn)( ...
- Android 长截屏原理
https://android-notes.github.io/2016/12/03/android%E9%95%BF%E6%88%AA%E5%B1%8F%E5%8E%9F%E7%90%86/ a ...
- Python学习之k-近邻算法
1. K-近邻算法 # coding=utf-8 from numpy import * import operator def createDataSet(): group = array([[1. ...
- 图论之最短路径(3)队列优化的Bellman-Ford算法(SPFA算法)
在Bellman-Ford算法中 我们可以看到大量的优化空间:如果一个点的最短路径已经确定了,那么它就不会再改变,因此不需要再处理.换句话说:我们每次只对最短路径改变了的顶点的所有出边进行操作 使用一 ...
- 详解struts2中配置action的方法
如何解决action太多的问题??我们因为需要不同的方法,所以往往建立很多不同的类,但是每个类中往往仅仅几行代码,不仅浪费了时间,而且配置起来也很繁琐,所以,建立一个共有的类,然后根据以下方式来操作, ...
- 手动把第三方的jar包添加到本地mavne仓库的方法
在实际实用maven进行开发的过程中,有一些项目没有使用maven来进行打包(比如我在做中文分词时候用的IK分词器),我们就无法在maven的仓库中下载这些jar包,但是我们在开发中会用到这些东西,所 ...
- iOS 如何在视图中添加一个用xib创建的view
NSArray *nib = [[NSBundle mainBundle]loadNibNamed:[pages objectAtIndex:] owner:self options:nil]; // ...
- 170628、springboot编程之Druid数据源和监控配置一
Spring Boot默认的数据源是:org.apache.tomcat.jdbc.pool.DataSource,那么如何修改数据源呢?我已目前使用比较多的阿里数据源Druid为例,如果使用其他的数 ...
- 写一个体验良好的git commit
一直在使用git也看过格式各样commit log , review 代码时最刺激的是看到这类 "." 应付差事,还有 "fix bug","fix& ...