Spring与Quartz结合
2015-06-07 16:15
731 查看
1.实例
依赖
(1)具体执行任务的类
不用实现任何接口
(2)spring配置文件中定义执行任务的类,和需要执行的方法
(2)定义trigger
(3)定义调度工厂
2.注意
(1)spring的<beans>中一定不能定义default-autowire="byName"
(2)<beans>不能设置default-lazy-int="true",否则定时任务不会触发
依赖
<dependency> <groupId>commons-collections</groupId> <artifactId>commons-collections</artifactId> <version>3.2.1</version> </dependency> <dependency> <groupId>org.opensymphony.quartz</groupId> <artifactId>quartz-all</artifactId> <version>1.6.1</version> </dependency> <dependency> <groupId>org.springframework</groupId> <artifactId>spring-context-support</artifactId> <version>3.1.1.RELEASE</version> </dependency>当然还需要spring的核心依赖
(1)具体执行任务的类
不用实现任何接口
public class MyJob { Logger logger = LoggerFactory.getLogger(MyJob.class); public void execute() throws JobExecutionException { logger.info("{} task is start", new Date()); } }
(2)spring配置文件中定义执行任务的类,和需要执行的方法
<!-- 定义目标bean和bean中的方法 --> <!-- =====================日常任务job========================== --> <bean id="myJob" class="com.mycompany.quartz.MyJob"> </bean> <bean id="myJobMethod" class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean"> <property name="targetObject"> <ref bean="myJob"/> </property> <property name="targetMethod"> <!-- 要执行的方法名称 --> <value>execute</value> </property> </bean>
(2)定义trigger
<!-- ======================== 调度触发器 ======================== --> <bean id="myTriggerBean" class="org.springframework.scheduling.quartz.CronTriggerBean"> <property name="jobDetail" ref="myJobMethod"></property> <property name="cronExpression" value="0/5 * * * * ?"></property> </bean>
(3)定义调度工厂
<!-- ======================== 调度工厂 ======================== --> <bean id="SpringJobSchedulerFactoryBean" class="org.springframework.scheduling.quartz.SchedulerFactoryBean"> <property name="triggers"> <list> <ref bean="myTriggerBean"/> </list> </property> </bean>
2.注意
(1)spring的<beans>中一定不能定义default-autowire="byName"
(2)<beans>不能设置default-lazy-int="true",否则定时任务不会触发
相关文章推荐
- Java Note - Operators
- JavaIO流--创建文件和文件夹的程序实例
- 解决2015-06-08日之前ES脚手架项目启动不了,一直停留在spring初始化阶段(唯一解决方案)
- spring jdbctemplate源码跟踪
- JavaBean
- struts2 的 result type详解
- java spring aop 的代理的简单实现
- Eclipse mybatis中XML的自动提示
- java
- java反射机制学习笔记及例子代码
- Java初级笔记_2
- Java基础之包装类的自动装箱和拆箱详解
- java编程——吸血鬼数字(四位)
- Java命令行
- JDK自带工具jps,jstat,jmap,jconsole使用
- Java 爬虫
- java输入输出高速
- Java枚举类型
- Java Map 迭代
- eclipse Maven 配置