Spring4 多种定时器详解
来源:互联网 发布:淘宝介入举证怎么办 编辑:程序博客网 时间:2024/06/08 11:30
转载自:http://blog.csdn.net/u010994277/article/details/43835945
注意:spring4已经没有org.springframework.scheduling.timer.ScheduledTimerTask这个类,所以不能用spring3以前的timerTask方法。现spring4定时器方法推荐一下两只方法:(需要单独导入quartz包,只能是1.8.+)
spring代码如下:
- <span style="white-space:pre"> </span><!-- 方式1 -->
- <bean name="exampleJob" class="org.springframework.scheduling.quartz.JobDetailBean">
- <property name="jobClass" value="com.spring.task.TaskOne" />
- <property name="jobDataAsMap">
- <map>
- <entry key="timeout" value="5" />
- </map>
- </property>
- </bean>
- <bean id="cronTrigger"
- class="org.springframework.scheduling.quartz.CronTriggerFactoryBean">
- <property name="jobDetail" ref="exampleJob" />
- <!-- run every morning at 6 AM -->
- <!-- <property name="cronExpression" value="0 0 6 * * ?" /> -->
- <!-- <property name="cronExpression" value="0 0/1 * * * ?" /> --> <!-- 每分钟 -->
- <property name="cronExpression" value="0/2 * * * * ?" /> <!-- 每秒 -->
- </bean>
- <!-- 方式2 -->
- <bean id="exampleBusinessObject" class="com.spring.task.TaskTwo" />
- <bean id="jobDetail"
- class="org.springframework.scheduling.quartz.MethodInvokingJobDetailFactoryBean">
- <property name="targetObject" ref="exampleBusinessObject" />
- <property name="targetMethod" value="doIt" />
- <property name="concurrent" value="false" />
- </bean>
- <bean id="simpleTrigger"
- class="org.springframework.scheduling.quartz.SimpleTriggerFactoryBean">
- <!-- see the example of method invoking job above -->
- <property name="jobDetail" ref="jobDetail" />
- <!-- 10 seconds -->
- <property name="startDelay" value="5000" />
- <!-- repeat every 50 seconds -->
- <property name="repeatInterval" value="3000" />
- </bean>
- <!-- 总调度用于启动Spring定时器 -->
- <bean class="org.springframework.scheduling.quartz.SchedulerFactoryBean">
- <property name="triggers">
- <list>
- <ref bean="cronTrigger" />
- <ref bean="simpleTrigger" />
- </list>
- </property>
- </bean>
JAVA代码如下(方式1):
- package com.spring.task;
- import org.apache.log4j.Logger;
- import org.quartz.JobExecutionContext;
- import org.quartz.JobExecutionException;
- import org.springframework.scheduling.quartz.QuartzJobBean;
- public class TaskOne extends QuartzJobBean {
- protected static final Logger log=Logger.getLogger(TaskOne.class);
- private int timeout;
- /**
- * Setter called after the ExampleJob is instantiated
- * with the value from the JobDetailBean (5)
- */
- public void setTimeout(int timeout) {
- this.timeout = timeout;
- }
- @Override
- protected void executeInternal(JobExecutionContext arg0)
- throws JobExecutionException {
- // TODO Auto-generated method stub
- log.info("-----定时任务执行-----");
- }
- }
- package com.spring.task;
- import org.apache.log4j.Logger;
- public class TaskTwo {
- protected static final Logger log=Logger.getLogger(TaskTwo.class);
- public void doIt(){
- log.info("-----定时任务执行-----");
- }
- }
0 0
- Spring4 多种定时器详解
- Spring4 多种定时器详解
- Spring4 多种定时器详解
- spring4整合定时器调度
- spring4 quartz 实现定时器功能
- 定时器的多种用法
- iOS->OC多种定时器
- Spring4 Jar包详解
- spring4 Jar包详解
- Spring4 Jar包详解
- Spring4 Jar包详解
- Spring4 Jar包详解
- Spring4 Jar包详解
- Spring4 Jar包详解
- spring4配置文件详解
- spring4配置文件详解
- spring4配置文件详解
- spring4.1.2使用quartz2.2.1定时器
- Time Intro - Time and NTP
- linux常用命令(9):touch命令
- 《C++ Primer Plus》读书笔记
- 一些常用到的linux命令整理笔记
- 问题四20150827解决maven打包编译出现File encoding has not been set问题
- Spring4 多种定时器详解
- C# Access 数据库 操作
- Sumo第一次使用博客
- C++中的static关键字
- lvs+keepalived+mysql cluster实现负载均衡
- hpu 2191 悼念512汶川大地震遇难同胞——珍惜现在,感恩生活 【多重背包模板】
- 聚集索引和非聚集索引(整理)
- 如何修改LR自带的示例程序端口号
- git本地使用以及与github、git@osc账户联合使用