系统集成Spring Integration提供了基于Spring的EIP(Enterprise Integration Patterns,企业集成模式)的实现,主要解决不同系统之间的交互问题,通过异步消息驱动来达到系统交互时系统之间的松耦合,由Message、Channel、Message EndPoint组成。

一、Message:用来在不同部分之间传递的数据

1、消息体(payload):任何数据类型,如XML、JSON、Java对象等
2、消息头(header):表示的元数据就是消息体的内容

二、Channel:消息发送者发送者发送消息到通道(Channel),消息接受者从通道(Channel)接收消息

1、顶级接口MessageChannel,其子接口:
    1)PollableChannel:可轮询
    2)SubscribeChannel:可订阅
2、常用消息通道
    1)PublishSubscribeChannel:允许广播消息给所有订阅者
    2)QueueChannel:允许消息接收者轮询获得信息,用一个队列接收消息,队列容量可配
    3)PriorityChannel:可按照优先级将数据存储到队列,依据消息头中priority属性
    4)RendezvousChannel:确保每一个接收者都接收到消息后再发送消息
    5)DirectChannel:默认消息通道,允许将消息发送给一个订阅者,然后阻塞发送直到消息被接收
    6)ExecutorChannel:可绑定一个多线程的task executor
3、通道拦截器ChannelInterceptor:用来拦截发送和接收消息的操作

三、Message EndPoint:是真正处理消息的组件

1、Channel Adapter:通道适配器,是一种连接外部系统或传输协议的端点,可分为入站和出站,单向的
2、Gateway:消息网关,提供了双向的请求/返回集成方式,也分为入站和出站
3、Service Activator:可调用Spring的Bean来处理消息,并将处理后的结果输出到指定的消息通道
4、Router:路由,可根据消息体类型、消息头的值、定义好的接收表 作为条件,决定消息传递到的通道
5、Filter:过滤器,类似于路由,决定消息是否可以传递给通道
6、Splitter:拆分器,将消息拆分成几个部分单独处理,拆分器处理的返回值是一个集合或者数组
7、Aggregator:聚合器,将多个消息合并为一个消息。
8、Enricher:消息增强器,增加额外的消息到已有的消息中,又分为消息体增强器和消息头增强器
9、Transformer:转换器,对获得的消息进行一定的逻辑转换处理
10、Bridge:连接桥,可以将两个消息通道连接起来

Spring Integration相关推荐

  1. #翻译NO.3# --- Spring Integration Framework

    为什么80%的码农都做不了架构师?>>>    2.4 Message Endpoints A Message Endpoint represents the "filte ...

  2. Spring Integration学习资料

    Spring Integration学习资料 1.1     背景 Spring框架的一个重要主题是控制反转.从广义上来说,Spring处理其上下文中管理的组件的职责.只要组件减轻了职责,它们同时也被 ...

  3. Spring Integration 4.3.10 发布,Spring 消息通信

    Spring Integration 4.3.10 发布了.Spring Integration 能在基于 Spring 的应用中进行简单的消息通信,并通过简单的适配器与外部系统集成.这些适配器提供了 ...

  4. #翻译NO.5# --- Spring Integration Framework

    为什么80%的码农都做不了架构师?>>>    本人觉得这一章很重要,那就是 Spring默认的channel 的实现 DirectChannel,这个要大家多按照原文理解,开发者为 ...

  5. ESB学习笔记(Spring Integration实战)

    http://wangleifire.iteye.com/blog/351749 介绍 Spring Integration是Spring公司的一套ESB框架. 前面ESB介绍中我也做了一定了解.我们 ...

  6. #翻译NO.4# --- Spring Integration Framework

    为什么80%的码农都做不了架构师?>>>    Part III. Core Messaging This section covers all aspects of the cor ...

  7. java中channelmessage,MessageStore支持的QueueChannel与Spring Integration Java Config

    Spring Integration reference guide指的是使用MessageStore实现为QueueChannel提供持久性. 提到了很多次,但是所有示例都使用XML配置,即 但是Q ...

  8. Java开源项目:Spring Integration

    2019独角兽企业重金招聘Python工程师标准>>> Java开源项目:Spring Integration http://www.importnew.com/16538.html ...

  9. streaming api_通过Spring Integration消费Twitter Streaming API

    streaming api 1.概述 众所周知, Spring Integration具有用于与外部系统交互的大量连接器. Twitter也不例外,而且很长一段时间以来,因为Spring Social ...

  10. mongodb dsl_具有Java DSL的Spring Integration MongoDB适配器

    mongodb dsl 1引言 这篇文章解释了如何使用Spring Integration从MongoDB数据库中保存和检索实体. 为了完成此任务,我们将使用Java DSL配置扩展来配置入站和出站M ...

最新文章

  1. linux挂载移动硬盘 格式化_linux系统下如何挂载NTFS移动硬盘
  2. 小H和游戏(无根树转有根树,思维)难度⭐⭐⭐★
  3. centos7 搭建FastDFS服务器
  4. 这些概念都不懂,别说你会机器学习
  5. matlab 次坐标轴 标注,matlab标注坐标轴
  6. 电信公网ip和内网ip的区别_私有IP共有IP和弹性IP的区别
  7. bzoj2339: [HNOI2011]卡农
  8. Tomcat中配置文件conf修改的一些常识
  9. 使用ExtendSim进行水管理、可持续性和环境仿真建模
  10. Matlab图像处理系列4———图像傅立叶变换与反变换
  11. qt.qpa.plugin: Could not load the Qt platform plugin “xcb“ in ““ even though it was found.
  12. linux kernel配置调试方法
  13. 约克大学计算机语言班,约克大学语言班申请
  14. js获取元素下的第一级子元素
  15. 44 Defending the Theory of Evolution Still Seems Needed
  16. 网盘搜索工具2019
  17. js 中 java 代码_在js中嵌套java代码
  18. US Credit repay
  19. LC 559. Maximum Depth of N-ary Tree
  20. 梅林 自动订阅_如何为4万名订阅者编写自动令牌空投脚本

热门文章

  1. 帆软报表FineReport出现数据在一页呈现,并且多行挤在一起的情况
  2. 实现WIN CE下截屏并且保存到文件
  3. EMNLP2021论文:元学习大规模多标签文本分类
  4. Tencent Linux操作系统宣布开源
  5. 联想电脑(win10)如何保存高清锁屏壁纸
  6. Bitmap recycle() 源码解析
  7. linux语言是什么意思,linux怎么读(linux什么意思,准确发音是什么)
  8. 原生JS实现淡出淡入效果
  9. R语言使用多个数据类型不同的向量数据创建一个dataframe数据对象、使用$操作符和列名称访问dataframe指定数据列的数据
  10. 线条边框简笔画图片大全_爱牙日手抄报 手抄报作业大全 模板边框设计