Quartz 框架和cron表达式任务调度的例子(spring下实现定时发送邮件)
2013-10-10 10:26
931 查看
1. 建立一个web项目,引入下列包:
spring.jar,quartz-1.5.1.jar,commons-collections-2.1.1.jar,jta.jar ,
commons-logging-1.0.4.jar,activation.jar,commons-email-1.3.1.jar,mail.jar
2.
创建一个类,在类中添加一个方法execute,我们将对这个方法进行定时调度.
3. 发送邮件的java类
4.
Spring配置文件applicationContext.xml 修改如下:
5. 修改web.xml文件
spring.jar,quartz-1.5.1.jar,commons-collections-2.1.1.jar,jta.jar ,
commons-logging-1.0.4.jar,activation.jar,commons-email-1.3.1.jar,mail.jar
2.
创建一个类,在类中添加一个方法execute,我们将对这个方法进行定时调度.
package com.quartz.test; import java.util.Date; import org.apache.commons.logging.Log; import org.apache.commons.logging.LogFactory; import common.commonEmail; public class Test { private static Log logger = LogFactory.getLog(Test.class);//日志记录器 public Test() { } public void execute() { logger.info("wjieTest:" + new Date()); //for(int i=0;i<100;i++) //System.out.println("###############----"+i); commonEmail st= new commonEmail(); st.send("*****.com", "wjie", "测试邮件发送", "测试成功!"); logger.info("wjieTest#######:" + new Date()); } }
3. 发送邮件的java类
package common; import org.apache.commons.mail.EmailException; import org.apache.commons.mail.HtmlEmail; public class commonEmail { public static void send( String to,/* 收信人地址 */ String toName,//收信人姓名 String subject, /* 主题 */ String body /* 内容 */ ) { try { HtmlEmail email = new HtmlEmail(); email.setHostName("smtp.sina.com");//设置发信的smtp服务器 email.addTo(to, toName);//设置收件人帐号和收件人 email.setFrom("*******@sina.com", "*******");//设置发信的邮件帐号和发信人 email.setSubject(subject);//设置邮件主题 email.setAuthentication("*******@sina.com","*****");//如果smtp服务器需要认证的话,在这里设置帐号、密码 //email.setHtmlMsg(body,"text/html; charset=GB2312");//设置邮件正文和字符编码 email.setCharset("GB2312"); email.setHtmlMsg(body); email.send(); } catch (EmailException e) { e.printStackTrace(); } } public static void main(String[] args){ commonEmail st= new commonEmail(); st.send("*******@qq.com", "wjie", "测试邮件发送", "你好,测试成功!"); } }
4.
Spring配置文件applicationContext.xml 修改如下:
<?xml version="1.0" encoding="UTF-8"?> <beans xmlns="http://www.springframework.org/schema/beans" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-2.0.xsd"> <!-- 要调用的工作类 --> <bean id="quartzJob" class="com.quartz.test.Test"></bean> <!-- 定义调用对象和调用对象的方法 --> <bean id="jobtask" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <!-- 调用的类 --> <property name="targetObject"> <ref bean="quartzJob"/> </property> <!-- 调用类中的方法 --> <property name="targetMethod"> <value>execute</value> </property> </bean> <!-- 定义触发时间 --> <bean id="doTime" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail"> <ref bean="jobtask"/> </property> <!-- cron表达式 --> <property name="cronExpression"> <value>10,30,50 * * * * ?</value> </property> </bean> <!-- 总管理类 如果将lazy-init='false'那么容器启动就会执行调度程序 --> <bean id="startQuertz" lazy-init="false" autowire="no" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="doTime"/> </list> </property> </bean> </beans>
5. 修改web.xml文件
<?xml version="1.0" encoding="UTF-8"?> <web-app version="2.4" xmlns="http://java.sun.com/xml/ns/j2ee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/j2ee http://java.sun.com/xml/ns/j2ee/web-app_2_4.xsd"> <context-param> <param-name>contextConfigLocation</param-name> <param-value> /WEB-INF/spring/applicationContext.xml </param-value> </context-param> <servlet> <servlet-name>SpringContextServlet</servlet-name> <servlet-class>org.springframework.web.context.ContextLoaderServlet</servlet-class> <load-on-startup>1</load-on-startup> </servlet> <welcome-file-list> <welcome-file>index.jsp</welcome-file> </welcome-file-list> </web-app>
相关文章推荐
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring+Quartz实现定时任务的配置方法--Cron表达式解释
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- AAA Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解
- Spring集成Quartz定时任务框架介绍和Cron表达式详解