- 浏览: 270409 次
- 性别:
- 来自: 北京
最新评论
-
zwb5370:
为什么 Java 的 cron 规则的 周规则和 linux ...
Quartz的cron表达式 -
zjhdreams:
没说说明L W C,L C #,每个字符的含义呢?补充
Quartz的cron表达式 -
qq359907964:
呵呵,没问题了,能正常运行..
Quartz的cron表达式 -
dongcb678:
biaoming 写道看了一下文档,compass已经提供很方 ...
Compass怎样在指定alias中搜索 -
anttribe:
请问博主,源呢?你是使用哪个源? 怎么还有内核的源?我杂没找到 ...
Debian升级内核
其次: MimeMessagePreparator函数的使用
例子:
1步:配置MailSender.xml
WEB-INF/conf/MailSender.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="JMSender" class="org.springframework.mail.javamail.JavaMailSenderImpl" >
<property name="host">
<value>mail.XXX.com</value>
</property>
<property name="javaMailProperties">
<props>
<!-- 如果要使用用户名和密码验证,这一步需要 -->
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
<property name="username">
<value>发件人的用户名</value>
</property>
<property name="password">
<value>发件人的密码</value>
</property>
</bean>
<bean id="ordermanager" class="mail.OrderManagerImpl">
<property name="JMSender" ref="JMSender"></property>
</bean>
</beans>
2步:配置web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
<!--WEB-INF/dataAccessContext.xml,-->
WEB-INF/conf/applicationContext.xml,
WEB-INF/conf/MailSender.xml
</param-value>
</context-param>
3步: 创建类,一个JAVABEAN,一个接口,一个实现类。
package mail;
public class Customer {
private String EmailAddress;
private String FirstName;
private String LastName;
private String text;
public Customer(String emailAddress, String firstName, String lastName, String text) {
super();
EmailAddress = emailAddress;
FirstName = firstName;
LastName = lastName;
this.text = text;
}
public String getEmailAddress() {
return EmailAddress;
}
public void setEmailAddress(String emailAddress) {
EmailAddress = emailAddress;
}
public String getFirstName() {
return FirstName;
}
public void setFirstName(String firstName) {
FirstName = firstName;
}
public String getLastName() {
return LastName;
}
public void setLastName(String lastName) {
LastName = lastName;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
package mail;
public interface IOrderManager {
void placeOrder(Customer customer);
}
-------------------------------------------------------------------------------------------------------
package mail;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.springframework.mail.MailException;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessagePreparator;
public class OrderManagerImpl implements IOrderManager {
private JavaMailSender JMSender;
public void placeOrder(final Customer customer) {
//定义一个回调函数
MimeMessagePreparator preparator = new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws MessagingException {
//setRecipient设置收件人的地址。
mimeMessage.setRecipient(Message.RecipientType.TO,
new InternetAddress(customer.getEmailAddress()));
//setFrom设置发件人的地址。
mimeMessage.setFrom(new InternetAddress("chenhan@inqgen.com"));
//setText 设置邮件内容。
mimeMessage.setText(
"Dear "
+ customer.getFirstName()
+ customer.getLastName()
+ ", thank you !. "
);
//setSubject 设置邮件标题。
mimeMessage.setSubject("FOR TEST!!");
}
};
try {
JMSender.send(preparator);
}
catch (MailException ex) {
//log it and go on
System.err.println(ex.getMessage());
}
}
public JavaMailSender getJMSender() {
return JMSender;
}
public void setJMSender(JavaMailSender sender) {
JMSender = sender;
}
}
再写以上的类的时候,要加Javamail.jar,关于Javamail.jar的具体信息,可以查一下互联网。
好了,邮件抽象层已经写完了,现在开始写Spring的定时调度。
例子:
1步:配置MailSender.xml
WEB-INF/conf/MailSender.xml
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN"
"http://www.springframework.org/dtd/spring-beans.dtd">
<beans>
<bean id="JMSender" class="org.springframework.mail.javamail.JavaMailSenderImpl" >
<property name="host">
<value>mail.XXX.com</value>
</property>
<property name="javaMailProperties">
<props>
<!-- 如果要使用用户名和密码验证,这一步需要 -->
<prop key="mail.smtp.auth">true</prop>
</props>
</property>
<property name="username">
<value>发件人的用户名</value>
</property>
<property name="password">
<value>发件人的密码</value>
</property>
</bean>
<bean id="ordermanager" class="mail.OrderManagerImpl">
<property name="JMSender" ref="JMSender"></property>
</bean>
</beans>
2步:配置web.xml
<context-param>
<param-name>contextConfigLocation</param-name>
<param-value>
<!--WEB-INF/dataAccessContext.xml,-->
WEB-INF/conf/applicationContext.xml,
WEB-INF/conf/MailSender.xml
</param-value>
</context-param>
3步: 创建类,一个JAVABEAN,一个接口,一个实现类。
package mail;
public class Customer {
private String EmailAddress;
private String FirstName;
private String LastName;
private String text;
public Customer(String emailAddress, String firstName, String lastName, String text) {
super();
EmailAddress = emailAddress;
FirstName = firstName;
LastName = lastName;
this.text = text;
}
public String getEmailAddress() {
return EmailAddress;
}
public void setEmailAddress(String emailAddress) {
EmailAddress = emailAddress;
}
public String getFirstName() {
return FirstName;
}
public void setFirstName(String firstName) {
FirstName = firstName;
}
public String getLastName() {
return LastName;
}
public void setLastName(String lastName) {
LastName = lastName;
}
public String getText() {
return text;
}
public void setText(String text) {
this.text = text;
}
}
package mail;
public interface IOrderManager {
void placeOrder(Customer customer);
}
-------------------------------------------------------------------------------------------------------
package mail;
import javax.mail.Message;
import javax.mail.MessagingException;
import javax.mail.internet.InternetAddress;
import javax.mail.internet.MimeMessage;
import org.springframework.mail.MailException;
import org.springframework.mail.javamail.JavaMailSender;
import org.springframework.mail.javamail.MimeMessagePreparator;
public class OrderManagerImpl implements IOrderManager {
private JavaMailSender JMSender;
public void placeOrder(final Customer customer) {
//定义一个回调函数
MimeMessagePreparator preparator = new MimeMessagePreparator() {
public void prepare(MimeMessage mimeMessage) throws MessagingException {
//setRecipient设置收件人的地址。
mimeMessage.setRecipient(Message.RecipientType.TO,
new InternetAddress(customer.getEmailAddress()));
//setFrom设置发件人的地址。
mimeMessage.setFrom(new InternetAddress("chenhan@inqgen.com"));
//setText 设置邮件内容。
mimeMessage.setText(
"Dear "
+ customer.getFirstName()
+ customer.getLastName()
+ ", thank you !. "
);
//setSubject 设置邮件标题。
mimeMessage.setSubject("FOR TEST!!");
}
};
try {
JMSender.send(preparator);
}
catch (MailException ex) {
//log it and go on
System.err.println(ex.getMessage());
}
}
public JavaMailSender getJMSender() {
return JMSender;
}
public void setJMSender(JavaMailSender sender) {
JMSender = sender;
}
}
再写以上的类的时候,要加Javamail.jar,关于Javamail.jar的具体信息,可以查一下互联网。
好了,邮件抽象层已经写完了,现在开始写Spring的定时调度。
发表评论
-
A4J 用户指南
2008-10-13 14:58 5673A4J 用户指南 Copy ... -
解决grails报java.lang.SecurityException:Prohibited问题
2008-08-28 18:06 3744今天有时间挨个找关于影响grails的问题,执行命令grail ... -
单个线程对多个线程的唤醒
2008-07-18 10:00 1255模拟两个线程之间的协作。 Athele 类有两个同步方法 pr ... -
hibernate usertype 如何得知自身实体状态
2008-05-07 09:37 1572hibernate usertype优劣网上有不少说法,下面是 ... -
发现一个在线学习groovy的好网站
2008-04-30 18:00 1310http://www.groovyland.net/groov ... -
今天发现个好东西--Grails
2008-04-03 20:00 1126学习Ruby,Ruby on rails是觉得他是动态语言 ... -
增强acegi ACL的拦截方法参数问题
2008-03-15 10:00 1725如果用acegi acl,你什么 ... -
acegi TransactionInterceptor遇到spring2.x
2008-03-10 21:38 2228一直使用spring2.x都没有问题,所有service都通过 ... -
lucene搜索时如果指定一个域为空呢?
2007-12-12 09:54 1410现在有个需求,搜索一个有父子关系的类别,只想搜索到是父的类别, ... -
请教compass如何映射java.util.Map类型
2007-11-08 16:11 1707现在实体设计有需要用到java.util.Map,但是在这个属 ... -
Compass怎样在指定alias中搜索
2007-11-01 09:24 2733我每个POJO都这有这样的注释 @Searchable(ali ... -
compass中如何配置分词器?
2007-09-29 09:04 4529在spring下的配置 <bean id=" ... -
集群基础知识
2007-08-29 17:37 12991.集群 集 群是提供 ... -
struts.properties详解
2007-08-17 11:53 1562struts.action.extension ... -
EJB集群技术分析
2007-08-16 12:57 7124J2EE平台提供了一个基于组件的方法,用来设计、开发、装配及部 ... -
java如何保护领域对象
2007-06-14 18:58 2255请教个问题,JAVA如何保存WEB程序的领域对象呢,比如某个用 ... -
HttpClient
2007-06-07 02:29 2115一般的情况下我们都是使用IE或者Navigator浏览器来访问 ... -
Spring邮件抽象层和Spring中的定时调度的整合(四)
2007-04-05 18:35 17843) 写类 package exa ... -
Spring邮件抽象层和Spring中的定时调度的整合(一)
2007-04-05 18:24 1984一. Spring邮件抽象层 Spri ... -
Spring邮件抽象层和Spring中的定时调度的整合(三)
2007-04-05 18:19 2164二.Spring的定时调度 Spring的定时调度有两种: ...
相关推荐
在这个项目中,结合Quartz和Spring Batch,开发者可能已经创建了一个系统,可以在集群环境中自动调度和执行Spring Batch作业。MySQL被用作Quartz的JobStore和Spring Batch的持久化存储,存储作业状态、调度信息以及...
本文将深入探讨Spring中的定时任务,并结合Eclipse和Maven项目环境进行讲解。 首先,Spring提供了两种主要的定时任务实现:`Spring Task`(也称为Spring自己的任务调度器)和`Quartz Scheduler`。`Spring Task`相对...
Spring 整合 Quartz 定时发送邮件是一种常见的任务调度场景,用于定期执行如发送通知、报告等操作。Quartz 是一个开源的作业调度框架,它允许开发者创建、调度和管理任务。而Spring作为一个强大的企业级应用开发框架...
Spring的任务调度模块使得开发者能够在应用中轻松地定义和执行定时任务,极大地提高了代码的可维护性和灵活性。 标题"Spring 任务调度"涵盖了Spring框架中的两个主要组件:Spring Task和Quartz Scheduler。Spring ...
Quartz和SpringBatch是两种在Java开发中广泛使用的框架,Quartz用于任务调度,而SpringBatch则用于批量处理。在大型分布式系统中,结合这两者可以实现强大的定时任务集群功能,尤其是在需要对大量数据进行定时处理的...
在IT行业中,定时任务是常见的一种需求,它允许程序在特定时间或按照一定周期自动执行某些操作,比如发送邮件、进行数据统计、更新系统状态、推送消息、开启活动或创建增量索引等。目前,主要有两种方式可以实现定时...
`spring-context-support.jar`是Spring框架对Quartz和Commons JCR等第三方调度库的支持,同时也包含Spring自己的`TaskExecutor`和`TaskScheduler`接口,用于实现异步任务和定时任务。 1. **Spring TaskExecutor**: ...
在本教程中,我们将深入探讨如何使用Spring MVC、Spring和Hibernate三大框架进行全注解的整合开发。这个视频教程系列的第11部分,重点可能是建立在前几部分的基础之上,进一步深化对这三个核心技术的理解和实践。 ...
在Java中,有多种实现定时任务调度的方式,包括但不限于Java内置的`java.util.Timer`类、Spring框架的`@Scheduled`注解以及Quartz库。 1. **Java内置的`java.util.Timer`和`TimerTask`**: - `Timer`类用于创建一...
ss-deamonSpring和qz定时调度任务的整合系统有很多个mysql和mongo库,用户中心,订单中心,库存中心。因为没有统一的抽象业务层,所以定时任务需要直接连接这些不同的数据库。同时考虑到后期会有很多不同的定时任务...
在Java开发中,Spring框架和Quartz库的整合是实现定时任务的一种常见方式。Spring提供了灵活的定时任务支持,而Quartz则是一个强大的作业调度框架,可以用来安排复杂的任务执行计划。下面我们将深入探讨如何在Spring...
Spring通过提供一个抽象层,简化了Quartz的配置和使用,使得任务调度变得更加简单和灵活。 1. **Spring集成Quartz**:Spring为Quartz提供了声明式配置,可以在Spring的XML配置文件中定义Job(任务)和Trigger...
整合Spring和Struts是Web开发中常见的需求,这两者都是Java Web开发的重要框架。Spring以其强大的依赖注入(DI)和面向切面编程(AOP)能力,以及对其他框架的良好集成,而Struts则是一个专注于MVC模式的轻量级框架...
在Ibatis Spring Struts整合中,Spring通常作为核心框架,管理其他组件的生命周期,包括Struts的Action和Ibatis的SqlSession。开发者可以利用Spring的AOP功能来管理事务,确保在多条数据库操作之间保持一致性。...
Spring 通过提供一系列的抽象层来简化 Quartz 的使用。 #### 二、Spring 普通定时任务 ##### 2.1 基本概念 Spring 定时任务主要依赖于 Quartz 的 Job 和 Trigger 两个核心组件。其中,Job 代表了需要执行的任务,...
6.8.1. 在Spring中使用AspectJ来为domain object进行依赖注入 6.8.1.1. @Configurable object的单元测试 6.8.1.2. 多application context情况下的处理 6.8.2. Spring中其他的AspectJ切面 6.8.3. 使用Spring IoC来...
在Spring 2.x版本中,Spring已经提供了对`Timer`和Quartz的集成支持,通过`FactoryBean`进行配置,还包含线程池调度的抽象类,隐藏了底层实现细节。然而,Spring 3.0引入了新的【新特性】,包括声明式模型验证、全面...
1. **邮件服务**:Spring提供了一种抽象层来处理邮件发送,允许开发者配置SMTP服务器并轻松地发送邮件。 2. **定时任务**:通过`org.springframework.scheduling`包,Spring支持基于 cron 表达式的任务调度,可以...
Spring Boot提供了Spring Scheduler抽象来实现这样的需求,使得开发者能够方便地管理和控制定时任务。本篇文章将深入探讨如何在Spring Boot中实现定时任务的动态开启和关闭。 首先,我们需要引入Spring Boot的`...