spring结合quartz实现定时任务
2016-06-11 20:14
447 查看
maven依赖如下
<properties> <springframework.version>3.0.5.RELEASE</springframework.version> </properties> <dependencies> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context</artifactId> <version>${springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>${springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-tx</artifactId> <version>${springframework.version}</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-web</artifactId> <version>${springframework.version}</version> </dependency> <dependency> <groupId>org.quartz-scheduler</groupId> <artifactId>quartz</artifactId> <version>1.8.5</version> </dependency>java代码如下:
package test; import java.util.Date; public class Test { private static int counter = 0; protected void execute() { long ms = System.currentTimeMillis(); System.out.println("\t\t" + new Date(ms)); System.out.println("(" + counter++ + ")"); } }
spring-config.xml内容如下:
<?xml version="1.0" encoding="UTF-8" ?> <beans xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns="http://www.springframework.org/schema/beans" xsi:schemaLocation="http://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans-3.0.xsd"> <!-- 配置调度程序quartz ,其中配置JobDetail有两种方式--> <!--方式一:使用JobDetailBean,任务类必须实现Job接口 --> <!-- <bean id="myjob" class="org.springframework.scheduling.quartz.JobDetailBean"> <property name="name" value="exampleJob"></property> <property name="jobClass" value="test.Test"></property> <property name="jobDataAsMap"> <map> <entry key="service"><value>simple is the beat</value></entry> </map> </property> </bean> --> <!--运行时请将方式一注释掉! --> <!-- 方式二:使用MethodInvokingJobDetailFactoryBean,任务类可以不实现Job接口,通过targetMethod指定调用方法--> <!-- 定义目标bean和bean中的方法 --> <bean id="SpringQtzJob" class="test.Test"/> <bean id="SpringQtzJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="SpringQtzJob"/> </property> <property name="targetMethod"> <!-- 要执行的方法名称 --> <value>execute</value> </property> </bean> <!-- ======================== 调度触发器 ======================== --> <bean id="CronTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="SpringQtzJobMethod"></property> <property name="cronExpression" value="/3 * * * * ?"></property> </bean> <!-- ======================== 调度工厂 ======================== --> <bean id="SpringJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="CronTriggerBean"/> </list> </property> </bean> </beans>
web.xml中配置spring
<context-param> <param-name>contextConfigLocation</param-name> <param-value>/WEB-INF/spring-config.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class> </listener>参考文章:http://kevin19900306.iteye.com/blog/1397744
相关文章推荐
- spring配置工厂bean
- java文件上传下载功能实现代码
- java程序中没有错,但是项目上面显示一个红叉的解决办法
- github提交失败并报错java.io.IOException: Authentication failed:
- Spring AOP初探(二)
- spring mvc 基本原理
- Java-对称加密-AES
- 识别有效的IP地址和掩码并进行分类统计 java
- 【Spring4揭秘】基本容器-BeanFactory
- JAVASE 打印输出--------01
- 用java签发数字证书代码
- 梳理spring篇-加载初始化机制
- Java类加载过程分析
- Struts2文件上传
- 二叉树的三种遍历方式java实现
- 一篇作为日常笔记的文章(不定时更新)
- 为Java程序中添加播放MIDI音乐功能
- Action实现ModelDriven,不能实例化所需类的问题
- 迭代器模式(Iterator)Java
- Thread.sleep(0)的意义