小小程序员
BlogJava
|
首页
|
发新随笔
|
发新文章
|
|
|
管理
在spring利用javamail,quartz定时发送邮件
在web开发中,我们经常需要定时完成一些功能。比如定义统计报表啊,统计用户排名等等。利用spring就可以轻松地做到这些任务。下面我就以定时发送邮件来来展示如何利用spring定时发送邮件,以及spring对JavaMail的简化。
MailService.java类
package
com.open.quartz;
import
org.springframework.mail.MailException;
import
org.springframework.mail.MailSender;
import
org.springframework.mail.SimpleMailMessage;
public
class
MailService
{
private
MailSender mailSender;
private
SimpleMailMessage mailMessage;//邮件模板
public
void
sendMail()
{
System.out.println(
"
-----------发送邮件!---------
"
);
SimpleMailMessage msg
=
new
SimpleMailMessage(
this
.mailMessage);
msg.setText(
"
this is a test mail
"
);
try
{
mailSender.send(msg);
}
catch
(MailException e)
{
e.printStackTrace();
}
System.out.println(
"
-----------发送成功!---------
"
);
}
//
省略set,get方法
}
在web.xml里添加以下代码
<
listener
>
<
listener-class
>
org.springframework.web.context.ContextLoaderListener
</
listener-class
>
</
listener
>
在WEB-INF目录下添加applicationContext.xml文件
<
beans
>
<
bean
id
="mailSender"
class
="org.springframework.mail.javamail.JavaMailSenderImpl"
>
<
property
name
="host"
value
="smtp.163.com"
/>
<!-- 有些邮件服务器发送邮件需要认证,所以必须提供帐号 -->
<
property
name
="username"
value
="填入用户名"
/>
<
property
name
="password"
value
="填入密码"
/>
<
property
name
="javaMailProperties"
>
<
props
>
<
prop
key
="mail.smtp.auth"
>
true
</
prop
>
</
props
>
</
property
>
</
bean
>
<!--一个邮件模板-->
<
bean
id
="mailMessage"
class
="org.springframework.mail.SimpleMailMessage"
>
<
property
name
="to"
value
="asm_c_yuan@163.com"
/>
<
property
name
="from"
value
="asm_c_yuan@163.com"
/>
<
property
name
="subject"
value
="test"
/>
</
bean
>
<
bean
id
="ms"
class
="com.open.quartz.MailService"
autowire
="byName"
/>
<
bean
id
="reportJob"
class
="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"
>
<
property
name
="targetObject"
ref
="ms"
/>
<
property
name
="targetMethod"
value
="sendMail"
/>
</
bean
>
<!--一个简单的调度器-->
<
bean
id
="simpleTrigger"
class
="org.springframework.scheduling.quartz.SimpleTriggerBean"
>
<
property
name
="jobDetail"
ref
="reportJob"
/>
<
property
name
="startDelay"
value
="1"
/> 在web启动多少毫秒后启动任务
<
property
name
="repeatInterval"
value
="100000000"
/> 表示没隔多少毫秒启动
</
bean
>
<!--一个定时的调度器-->
<
bean
id
="cronTrigger"
class
="org.springframework.scheduling.quartz.CronTriggerBean"
>
<
property
name
="jobDetail"
ref
="reportJob"
/>
<
property
name
="cronExpression"
value
="0 0 6 * * ?"
/> 指明每天早上6点启动任务,表达式的解释见下篇文章
</
bean
>
<
bean
class
="org.springframework.scheduling.quartz.SchedulerFactoryBean"
>
<
property
name
="triggers"
>
<
list
>
<
ref
bean
="simpleTrigger"
/>
</
list
>
</
property
>
</
bean
>
</
bean
>
涉及的jar包有:spring.jar,javamail.jar,activation.jar,quartz.jar
发表于 2006-06-13 22:06
~小Q
阅读(3291)
评论(1)
编辑
收藏
所属分类:
『
Spring
』
评论
#
re: 在spring利用javamail,quartz定时发送邮件[未登录]
感觉不错吗、
新用户注册
刷新评论列表
只有注册用户
登录
后才能发表评论。
网站导航:
博客园
IT新闻
知识库
C++博客
博问
管理
相关文章:
图解spring mvc
Quartz的cron表达式
在spring利用javamail,quartz定时发送邮件
spring对java远程调用的简化(三)之HTTPinvoker
spring对java远程调用的简化(二)之Hessian,Burlap
spring对java远程调用的简化(一)之RMI
spring中事务的属性
事务的特点以及spring提供事务管理器的简介
ProxyFactoryBean属性介绍
spring中基础核心接口介绍
<
2006年6月
>
日
一
二
三
四
五
六
28
29
30
31
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
1
2
3
4
5
6
7
8
公告
spring-谁与争锋
常用链接
我的随笔
我的文章
我的评论
我的参与
最新评论
留言簿
(4)
给我留言
查看公开留言
查看私人留言
随笔分类
『
eclipse
』(2)
(rss)
『
Flash
』(1)
(rss)
『
JavaScript
』(1)
(rss)
『
Maven
』(1)
(rss)
『
Spring
』(17)
(rss)
『
springside
』(1)
(rss)
『
汇编
』(4)
(rss)
『
计划
』(1)
(rss)
相册
spring
Blog
论坛
积分与排名
积分 - 62490
排名 - 841
最新评论
1. re: 在spring利用javamail,quartz定时发送邮件[未登录]
感觉不错吗、
--xiaoxiao
2. re: JavaScript中的arguments,callee,caller,call,appy
不错啊
--artwl
3. re: JavaScript中的arguments,callee,caller,call,appy[未登录]
注意,arguments[0] 是对的。arguments是一个Object。
--你好
4. re: JavaScript中的arguments,callee,caller,call,appy
评论内容较长,点击标题查看
--zhangsir199
5. re: Maven的eclipse插件使用的flash教程[未登录]
除了插件是真的之外,其他怎么全是假的?
--王子