功能描述:刚开始接触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
>
本文介绍如何使用Quartz结合Spring框架实现定时邮件发送功能。通过整合Quartz和Spring,可以实现每分钟发送一封邮件,并连续发送十次的任务。文章详细展示了所需的核心jar包以及关键代码实现。
1529

被折叠的 条评论
为什么被折叠?



