使用Spring Integration实现定时任务
一,需要的依赖
<dependency><groupId>org.springframework.integration</groupId><artifactId>spring-integration-core</artifactId><version>4.1.6.RELEASE</version>
</dependency>
二,定时任务类
package demo.springintegration;
/*** 定时任务类* @author xiaohui**/
public class TimedTask {public String test() {System.out.println("hello world!");return "";}
}
三,配置文件
<?xml version="1.0" encoding="UTF-8"?>
<beans xmlns="http://www.springframework.org/schema/beans"xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" xmlns:int="http://www.springframework.org/schema/integration"xmlns:int-jdbc="http://www.springframework.org/schema/integration/jdbc"xmlns:jdbc="http://www.springframework.org/schema/jdbc" xmlns:task="http://www.springframework.org/schema/task"xsi:schemaLocation="http://www.springframework.org/schema/jdbc http://www.springframework.org/schema/jdbc/spring-jdbc.xsdhttp://www.springframework.org/schema/integration http://www.springframework.org/schema/integration/spring-integration.xsdhttp://www.springframework.org/schema/integration/jdbc http://www.springframework.org/schema/integration/jdbc/spring-integration-jdbc.xsdhttp://www.springframework.org/schema/beans http://www.springframework.org/schema/beans/spring-beans.xsdhttp://www.springframework.org/schema/task http://www.springframework.org/schema/task/spring-task.xsd"><!-- 执行的次数(次数=capacity+1) --><int:channel id="count"><int:queue capacity="1000"/></int:channel><!-- 要执行的类 --><bean id="hello" class="demo.springintegration.TimedTask"/><!-- 指定要执行的类的方法及执行的次数 --><int:inbound-channel-adapter channel="count" ref="hello" method="test"><!-- 执行时间 --><!-- 每秒执行一次 --><int:poller cron="1 * * * * ? " /><!-- 秒(0~59)分钟(0~59)小时(0~23)天(月)(0~31,但是你需要考虑你月的天数)月(0~11)星期(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)年份(1970-2099)特殊符号含义* :任意值,可以理解(每)? :只能在 天和星期中用。其中有一个必须为?(避免冲突)- :表示范围 如 1-10 如:* * * * ? 表示每分钟1-10秒每秒触发/ :从多少开始每隔多少 如: 0/1 * * * * ? 表示从0开始每秒触发, :表示指定的 如:2,4,6 * * * * ? 表示每分钟第2第4第6秒触发L :表示最后 只能在星期和月使用,如:在星期中使用5L表示最后一个星期四触发W :表示有效工作日(周一到周五),只能出现在月中,系统将在离指定日期的最近的有效工作日触发事件LW :这两个字符可以连用,表示在某个月最后一个工作日,即最后一个星期五。 # :用于确定每个月第几个星期几,只能出现在月中。例如在4#2,表示某月的第二个星期三。--></int:inbound-channel-adapter>
</beans>
四,cron表达式
如 * * * * * ? 2018 按顺序表示
秒(0~59)
分钟(0~59)
小时(0~23)
天(月)(0~31,但是你需要考虑你月的天数)
月(0~11)
星期(1~7 1=SUN 或 SUN,MON,TUE,WED,THU,FRI,SAT)
年份(1970-2099)(可)
特殊符号含义
* :任意值,可以理解(每)
? :只能在 天和星期中用。其中有一个必须为?(避免冲突)
- :表示范围 如 1-10 如:* * * * ? 表示每分钟1-10秒每秒触发
/ :从多少开始每隔多少 如: 0/1 * * * * ? 表示从0开始每秒触发
, :表示指定的 如:2,4,6 * * * * ? 表示每分钟第2第4第6秒触发
L :表示最后 只能在星期和月使用,如:在星期中使用5L表示最后一个星期四触发
W :表示有效工作日(周一到周五),只能出现在月中,系统将在离指定日期的最近的有效工作日触发事件
LW :这两个字符可以连用,表示在某个月最后一个工作日,即最后一个星期五。
# :用于确定每个月第几个星期几,只能出现在月中。例如在4#2,表示某月的第二个星期三。
使用Spring Integration实现定时任务相关推荐
- #翻译NO.3# --- Spring Integration Framework
为什么80%的码农都做不了架构师?>>> 2.4 Message Endpoints A Message Endpoint represents the "filte ...
- Spring Integration学习资料
Spring Integration学习资料 1.1 背景 Spring框架的一个重要主题是控制反转.从广义上来说,Spring处理其上下文中管理的组件的职责.只要组件减轻了职责,它们同时也被 ...
- Spring Integration 4.3.10 发布,Spring 消息通信
Spring Integration 4.3.10 发布了.Spring Integration 能在基于 Spring 的应用中进行简单的消息通信,并通过简单的适配器与外部系统集成.这些适配器提供了 ...
- #翻译NO.5# --- Spring Integration Framework
为什么80%的码农都做不了架构师?>>> 本人觉得这一章很重要,那就是 Spring默认的channel 的实现 DirectChannel,这个要大家多按照原文理解,开发者为 ...
- spring怎么设置定时任务为每天凌晨2点执行和每小时执行一次?(亲测)
每天凌晨2点 0 0 2 * * ?和每天隔一小时 0 * */1 * * ? 例1:每隔5秒执行一次:*/5 * * * * ? 例2:每隔5分执行一次:0 */5 * * * ? 在26分.29 ...
- ESB学习笔记(Spring Integration实战)
http://wangleifire.iteye.com/blog/351749 介绍 Spring Integration是Spring公司的一套ESB框架. 前面ESB介绍中我也做了一定了解.我们 ...
- Spring+Quartz实现定时任务
Spring整合Quartz实现定时任务步骤很简单,大致需要经过如下几步:创建任务(Job).配置JobDetail.配置触发器(Trigger).配置SchedulerFactoryBean 首先使 ...
- #翻译NO.4# --- Spring Integration Framework
为什么80%的码农都做不了架构师?>>> Part III. Core Messaging This section covers all aspects of the cor ...
- java中channelmessage,MessageStore支持的QueueChannel与Spring Integration Java Config
Spring Integration reference guide指的是使用MessageStore实现为QueueChannel提供持久性. 提到了很多次,但是所有示例都使用XML配置,即 但是Q ...
最新文章
- 打通B/S与C/S !让HTML5 WebSocket与.NET Socket公用同一个服务端!
- 计算机三级数据库应用题设计题,2017年计算机三级《数据库技术》模拟应用题及答案...
- 修改 Android Studio 相关模板,以加快项目创建时构建速度,支持Mac,Windows,Linux...
- 防病毒插件更新失败!?
- Save info in Hidden Field
- 经典面试题(39):以下代码将输出的结果是什么?
- 家用计算机配置,家用计算机怎么配置?
- JSK-17 X的平方根【二分法】
- Apizza-绑定数据模型
- C++ dlib实现人脸识别
- Mac 屏幕共享和远程控制
- php微博采集,微博采集方法
- PowerVR开发工具和SDK 2020 Release 1发布啦!
- STM32程序烧录方式总结
- 做python的心得体会_实训python的心得体会
- 【图像去噪】基于非局部均值(NLM)滤波图像去噪matlab源码
- python3根据excel表数据自动生成word格式数据报告
- ClearCase 介绍 1
- Flink实操 : 状态管理
- consulandnacos
热门文章
- 微信小程序自定义图片上传组件
- js控制div内部滚动内容横向滑动位置
- 销售培训的全球与中国市场2022-2028年:技术、参与者、趋势、市场规模及占有率研究报告
- 初学者不建议月python吗_为什么我不建议你将python作为入门编程语言
- 三星java世界x108_三星 X108:其他
- Java-swing 学习
- C++小型公司的工资管理系统
- 用最长情的告白陪伴技术人的成长
- ShareList- 支持Google Drive/OneDrive多网盘同时挂载
- oracle转借权限,Oracle Universal Connection Pool(UCP) for JDBC 详解