此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.1

此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 Spring Integration 6.3.1

本节介绍 Spring Integration 提供的各种通道适配器和消息传递网关,以支持与外部系统进行基于消息的通信。

从 AMQP 到 Zookeeper,每个系统都有自己的集成要求,本节将介绍它们。

终结点快速参考表

如前面几节所述,Spring Integration 提供了许多用于与外部系统、文件系统等交互的端点。

对于透明的依赖关系管理,Spring Integration 提供了一个要导入到 Maven 配置中的物料清单 POM:

<dependencyManagement>
    <dependencies>
        <dependency>
            <groupId>org.springframework.integration</groupId>
            <artifactId>spring-integration-bom</artifactId>
            <version>6.2.7-SNAPSHOT</version>
            <type>pom</type>
            <scope>import</scope>
        </dependency>
    </dependencies>
</dependencyManagement>

回顾一下:

  • 入站通道适配器用于单向集成,以将数据引入消息传递应用程序。

  • 出站通道适配器用于单向集成,以将数据从消息传递应用程序发送出去。

  • 入站网关用于双向集成流,其中其他一些系统调用消息传递应用程序并接收回复。

  • 出站网关用于双向集成流,其中消息传递应用程序调用某些外部服务或实体并期望获得结果。

下表总结了各个端点,并提供了指向相应章节的快速链接。

表 1.端点快速参考
模块 入站适配器 出站适配器 入站网关 出站网关

AMQP系列

入站通道适配器

出站通道适配器

入站网关

出站网关

阿帕奇骆驼

N

出站通道适配器

N

出站网关

Apache Cassandra

N

出站通道适配器

N

出站网关

地比哌

Debezium 入站通道适配器

N

N

N

事件

接收 Spring 应用程序事件

发送 Spring 应用程序事件

N

N

饲料

馈送入站通道适配器

N

N

N

文件

读取文件“尾随”文件

写入文件

N

写入文件

FTP(小号)

FTP 入站通道适配器

FTP 出站通道适配器

N

FTP 出站网关

图形QL

N

N

N

GraphQL 出站网关

黑兹尔卡斯特

Hazelcast 入站通道适配器

Hazelcast 出站通道适配器

N

N

HTTP的

HTTP 命名空间支持

HTTP 命名空间支持

Http 入站组件

HTTP 出站组件

京东银行

入站通道适配器存储过程入站通道适配器

出站通道适配器存储过程出站通道适配器

N

出站网关存储过程出站网关

JMS公司

入站通道适配器消息驱动的通道适配器

出站通道适配器

入站网关

出站网关

JMX公司

通知侦听通道适配器属性轮询通道适配器树轮询通道适配器

通知发布通道适配器操作调用通道适配器

N

操作调用出站网关

JPA格式

入站通道适配器

出站通道适配器

N

更新出站网关检索出站网关

阿帕奇卡夫卡

消息驱动通道适配器入站通道适配器

出站通道适配器

入站网关

出站网关

邮件

邮件接收通道适配器

邮件发送通道适配器

N

N

MongoDB的

MongoDB 入站通道适配器

MongoDB 出站通道适配器

N

N

MQTT的

入站(消息驱动)通道适配器

出站通道适配器

N

N

R2DBC系列

R2DBC 入站通道适配器

R2DBC 出站通道适配器

N

N

Redis(瑞迪斯酒店)

Redis 入站通道适配器Redis 队列入站通道适配器Redis Store 入站通道适配器Redis Stream 入站通道适配器

Redis 出站通道适配器Redis 队列出站通道适配器RedisStore 出站通道适配器Redis 流出站通道适配器

Redis 队列入站网关

Redis 出站命令网关Redis 队列出站网关

资源

资源入站通道适配器

N

N

N

RSocket

N

N

RSocket 入站网关

RSocket 出站网关

SFTP的

SFTP 入站通道适配器

SFTP 出站通道适配器

N

SFTP 出站网关

中小型企业

SMB 入站通道适配器SMB 流式处理入站通道适配器

SMB 出站通道适配器

N

SMB 出站网关

STOMP

STOMP 入站通道适配器

STOMP 出站通道适配器

N

N

从流中读取

写入流

N

N

系统日志

Syslog 入站通道适配器

N

N

N

技术合作计划(TCP)

TCP 适配器

TCP 适配器

TCP 网关

TCP 网关

UDP的

UDP 适配器

UDP 适配器

N

N

网络通量

WebFlux 入站通道适配器

WebFlux 出站通道适配器

入站 WebFlux 网关

出站 WebFlux 网关

Web 服务

N

N

入站 Web 服务网关

出站 Web 服务网关

Web 套接字

WebSocket 入站通道适配器

WebSocket 出站通道适配器

N

N

XMPP系列

XMPP 消息XMPP 状态

XMPP 消息XMPP 状态

N

N

零MQ

ZeroMQ 入站通道适配器

ZeroMQ 出站通道适配器

N

N

此外,正如核心消息传递中所讨论的,Spring Integration提供了用于与普通旧Java对象(POJO)接口的端点。 如 Channel Adapter 中所述,该元素允许您轮询 Java 方法以获取数据。 该元素允许您将数据发送到方法。 正如 Messaging Gateway 中所讨论的,该元素允许任何 Java 程序调用消息传递流。 其中每一项都不需要对 Spring Integration 的任何源代码级依赖关系即可工作。 在此上下文中,出站网关的等效项是使用服务激活器(请参阅服务激活器)来调用返回某种类型的方法。<int:inbound-channel-adapter><int:outbound-channel-adapter>void<int:gateway>Object

从 version 开始,所有入站网关都可以配置一个布尔标志,以便在下游流在回复超时期间未返回回复时抛出 。 在线程将控制权返回给网关之前,计时器不会启动,因此通常它仅在下游流是异步的,或者由于某些处理程序(例如过滤器)的返回而停止时才有用。 这种异常可以在流程上处理,例如为请求客户端生成补偿回复。5.2.2errorOnTimeoutMessageTimeoutExceptionnullerrorChannel

表 1.端点快速参考
模块 入站适配器 出站适配器 入站网关 出站网关

AMQP系列

入站通道适配器

出站通道适配器

入站网关

出站网关

阿帕奇骆驼

N

出站通道适配器

N

出站网关

Apache Cassandra

N

出站通道适配器

N

出站网关

地比哌

Debezium 入站通道适配器

N

N

N

事件

接收 Spring 应用程序事件

发送 Spring 应用程序事件

N

N

饲料

馈送入站通道适配器

N

N

N

文件

读取文件“尾随”文件

写入文件

N

写入文件

FTP(小号)

FTP 入站通道适配器

FTP 出站通道适配器

N

FTP 出站网关

图形QL

N

N

N

GraphQL 出站网关

黑兹尔卡斯特

Hazelcast 入站通道适配器

Hazelcast 出站通道适配器

N

N

HTTP的

HTTP 命名空间支持

HTTP 命名空间支持

Http 入站组件

HTTP 出站组件

京东银行

入站通道适配器存储过程入站通道适配器

出站通道适配器存储过程出站通道适配器

N

出站网关存储过程出站网关

JMS公司

入站通道适配器消息驱动的通道适配器

出站通道适配器

入站网关

出站网关

JMX公司

通知侦听通道适配器属性轮询通道适配器树轮询通道适配器

通知发布通道适配器操作调用通道适配器

N

操作调用出站网关

JPA格式

入站通道适配器

出站通道适配器

N

更新出站网关检索出站网关

阿帕奇卡夫卡

消息驱动通道适配器入站通道适配器

出站通道适配器

入站网关

出站网关

邮件

邮件接收通道适配器

邮件发送通道适配器

N

N

MongoDB的

MongoDB 入站通道适配器

MongoDB 出站通道适配器

N

N

MQTT的

入站(消息驱动)通道适配器

出站通道适配器

N

N

R2DBC系列

R2DBC 入站通道适配器

R2DBC 出站通道适配器

N

N

Redis(瑞迪斯酒店)

Redis 入站通道适配器Redis 队列入站通道适配器Redis Store 入站通道适配器Redis Stream 入站通道适配器

Redis 出站通道适配器Redis 队列出站通道适配器RedisStore 出站通道适配器Redis 流出站通道适配器

Redis 队列入站网关

Redis 出站命令网关Redis 队列出站网关

资源

资源入站通道适配器

N

N

N

RSocket

N

N

RSocket 入站网关

RSocket 出站网关

SFTP的

SFTP 入站通道适配器

SFTP 出站通道适配器

N

SFTP 出站网关

中小型企业

SMB 入站通道适配器SMB 流式处理入站通道适配器

SMB 出站通道适配器

N

SMB 出站网关

STOMP

STOMP 入站通道适配器

STOMP 出站通道适配器

N

N

从流中读取

写入流

N

N

系统日志

Syslog 入站通道适配器

N

N

N

技术合作计划(TCP)

TCP 适配器

TCP 适配器

TCP 网关

TCP 网关

UDP的

UDP 适配器

UDP 适配器

N

N

网络通量

WebFlux 入站通道适配器

WebFlux 出站通道适配器

入站 WebFlux 网关

出站 WebFlux 网关

Web 服务

N

N

入站 Web 服务网关

出站 Web 服务网关

Web 套接字

WebSocket 入站通道适配器

WebSocket 出站通道适配器

N

N

XMPP系列

XMPP 消息XMPP 状态

XMPP 消息XMPP 状态

N

N

零MQ

ZeroMQ 入站通道适配器

ZeroMQ 出站通道适配器

N

N