为学日益,为道日损.损之又损,以至于无为,无为而无不为.
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
我一直在努力!
阅读(1027)
评论(0)
编辑
收藏
所属分类:
『
Spring
』
新闻频道
新用户注册
刷新评论列表
标题
姓名
主页
验证码
*
内容(请不要发表任何与政治相关的内容)
Remember Me?
登录
使用高级评论
新用户注册
返回页首
恢复上次提交
[使用Ctrl+Enter键可以直接提交]
相关链接:
网站导航:
博客园
BlogJava
博客生活
IT博客网
C++博客
PHP博客
博客园社区
管理博客
教师博客
天文博客
汽车博客
足球博客
股票博客
电子博客
管理
相关文章:
图解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-谁与争锋
常用链接
我的随笔
我的评论
我的参与
最新评论
留言簿
(1)
给我留言
查看公开留言
查看私人留言
随笔分类
『
eclipse
』(2)
(rss)
『
Flash
』(1)
(rss)
『
JavaScript
』(1)
(rss)
『
Maven
』(1)
(rss)
『
Spring
』(17)
(rss)
『
springside
』(1)
(rss)
『
汇编
』(4)
(rss)
『
计划
』(1)
(rss)
相册
spring
Blog
江南白衣
陈刚
(rss)
论坛
Java视野
与Java共舞
积分与排名
积分 - 19983
排名 - 402
最新评论
1. re: JavaScript中的arguments,callee,caller,call,appy
学习了..谢谢.
--lisj
2. re: Maven的eclipse插件使用的flash教程
明明有东西吗,楼上两位瞎搞。
--fenix
3. re: 毕业
我一直在努力
--weiwei
4. re: spring的学习资料(收集中)
评论内容较长,点击标题查看
--专注java开源
5. re: spring的学习资料(收集中)
评论内容较长,点击标题查看
--专注java开源