Spring Trigger
来源:互联网 发布:关于网络诈骗的新闻 编辑:程序博客网 时间:2024/06/13 03:36
很多时候有一些事情需要交给程序定时自动执行,java项目中使用spring+Quartz的方式实现这个功能的方式很常见,下面说明一下具体配置。
一、工程需要的jar包
1) aopalliance-1.0.jar
2) commons-logging-1.1.1.jar
3) log4j-1.2.11.jar
4) quartz-2.1.7.jar
5) slf4j-api-1.7.3.jar
6) slf4j-log4j12-1.7.3.jar
7) spring-aop-3.2.3.RELEASE.jar
8) spring-beans-3.2.3.RELEASE.jar
9) spring-context-3.2.3.RELEASE.jar
10) spring-context-support-3.2.3.RELEASE.jar
11) spring-core-3.2.3.RELEASE.jar
12) spring-expression-3.2.3.RELEASE.jar
13) spring-tx-3.2.3.RELEASE.jar
14) spring-web-3.2.3.RELEASE.jar
二、工程目录结构
三、配置文件说明
1、 web.xml
<?xml version="1.0" encoding="UTF-8"?><web-app version="2.5" xmlns="http://java.sun.com/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/web-app_2_5.xsd"><!-- 配置spring配置文件加载的位置 --> <context-param> <param-name>contextConfigLocation</param-name> <param-value>classpath:application/application_spring_trigger.xml</param-value> </context-param> <listener> <listener-class>org.springframework.web.context.ContextLoaderListener</listener-class></listener> <welcome-file-list> <welcome-file>index.html</welcome-file> </welcome-file-list></web-app>
2、 spring配置文件(application_spring_trigger.xml)
Quartz 2.x修改了部分API,所以需要注意一下Quartz的配置。
- 将CronTriggerBean改为了CronTriggerFactoryBean
- 将JobDetailBean改为了JobDetailFactoryBean
<?xml version="1.0" encoding="UTF-8"?><!DOCTYPE beans PUBLIC "-//SPRING//DTD BEAN//EN" "http://www.springframework.org/dtd/spring-beans.dtd"><beans> <bean name="taskJob" class="com.spring.trigger.test.SpringTriggerTest" /> <bean id="methodInvokingJobDetail" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <!-- 执行定时任务的类 --> <ref bean="taskJob" /> </property> <property name="targetMethod"> <!-- 指定定时任务的具体方法,由哪个方法执行定时任务 --> <value>test</value> </property> </bean> <!-- 配置触发器 --> <bean id="cronTrigger" class="org.springframework.scheduling.quartz.CronTriggerFactoryBean"> <!-- 这里不可以直接在属性jobDetail中引用taskJob,因为他要求的是一个jobDetail类型的对象,所以我们得通过MethodInvokingJobDetailFactoryBean来转一下 --> <property name="jobDetail"> <ref bean="methodInvokingJobDetail" /> </property> <!-- 每天的8点到21点每隔1分钟触发,具体说明见附录 --> <property name="cronExpression"> <value>0 * 08-21 * * ?</value> </property> </bean><!-- 添加触发器 --> <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <!-- 程序启起来后,延迟60秒再开始执行 --> <property name="startupDelay" value="60"/> <property name="triggers"> <list> <ref local="cronTrigger" /> </list> </property> </bean></beans>
四、定时任务执行类(SpringTriggerTest.java)
package com.spring.trigger.test;import java.util.Date;/** * @author Administrator *spring trigger test */public class SpringTriggerTest {public void test(){Date date=new Date();String dateStr=date.toLocaleString();System.out.println("执行定时任务方法!"+dateStr);}}
- spring trigger
- Spring Trigger
- Trigger
- TRIGGER
- TRIGGER
- TRIGGER
- trigger
- trigger
- trigger
- trigger
- Trigger
- Trigger
- trigger()
- trigger
- Trigger
- Trigger
- Spring 整合 Quartz -实现 动态设定Trigger参数(三)
- Spring任务调度实战之Quartz Simple Trigger
- Linux内核页表初始化
- HDU2011
- HDU 3845 凸包
- OpenCV学习记录3//仿射变换与重映射
- 基于Linux的TCP网络编程
- Spring Trigger
- php学习笔记-数据类型、分支流程、数组等
- coroutine
- Flex中的FusionCharts 3D饼图
- android,应用程序与进程
- C指针原理(96)-C基础综合应用
- 图片文件格式汇编
- 题目1176:树查找
- Effective C++读书笔记(6)