此版本仍在开发中,尚未被视为稳定版本。对于最新的稳定版本,请使用 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.3.2-SNAPSHOT</version>
<type>pom</type>
<scope>import</scope>
</dependency>
</dependencies>
</dependencyManagement>
回顾一下:
-
入站通道适配器用于单向集成,以将数据引入消息传递应用程序。
-
出站通道适配器用于单向集成,以将数据从消息传递应用程序发送出去。
-
入站网关用于双向集成流,其中其他一些系统调用消息传递应用程序并接收回复。
-
出站网关用于双向集成流,其中消息传递应用程序调用某些外部服务或实体并期望获得结果。
下表总结了各个端点,并提供了指向相应章节的快速链接。
模块 | 入站适配器 | 出站适配器 | 入站网关 | 出站网关 |
---|---|---|---|---|
AMQP系列 |
||||
阿帕奇骆驼 |
N |
N |
||
Apache Cassandra |
N |
N |
||
地比哌 |
N |
N |
N |
|
事件 |
N |
N |
||
饲料 |
N |
N |
N |
|
文件 |
N |
|||
FTP(小号) |
N |
|||
图形QL |
N |
N |
N |
|
黑兹尔卡斯特 |
N |
N |
||
HTTP的 |
||||
京东银行 |
N |
|||
JMS公司 |
||||
JMX公司 |
N |
|||
JPA格式 |
N |
|||
阿帕奇卡夫卡 |
||||
邮件 |
N |
N |
||
MongoDB的 |
N |
N |
||
MQTT的 |
N |
N |
||
R2DBC系列 |
N |
N |
||
Redis(瑞迪斯酒店) |
Redis 入站通道适配器、Redis 队列入站通道适配器、Redis Store 入站通道适配器、Redis Stream 入站通道适配器 |
Redis 出站通道适配器、Redis 队列出站通道适配器、RedisStore 出站通道适配器、Redis 流出站通道适配器 |
||
资源 |
N |
N |
N |
|
RSocket |
N |
N |
||
SFTP的 |
N |
|||
中小型企业 |
N |
|||
STOMP |
N |
N |
||
流 |
N |
N |
||
系统日志 |
N |
N |
N |
|
技术合作计划(TCP) |
||||
UDP的 |
N |
N |
||
网络通量 |
||||
Web 服务 |
N |
N |
||
Web 套接字 |
N |
N |
||
XMPP系列 |
N |
N |
||
零MQ |
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.2
errorOnTimeout
MessageTimeoutException
null
errorChannel
模块 | 入站适配器 | 出站适配器 | 入站网关 | 出站网关 |
---|---|---|---|---|
AMQP系列 |
||||
阿帕奇骆驼 |
N |
N |
||
Apache Cassandra |
N |
N |
||
地比哌 |
N |
N |
N |
|
事件 |
N |
N |
||
饲料 |
N |
N |
N |
|
文件 |
N |
|||
FTP(小号) |
N |
|||
图形QL |
N |
N |
N |
|
黑兹尔卡斯特 |
N |
N |
||
HTTP的 |
||||
京东银行 |
N |
|||
JMS公司 |
||||
JMX公司 |
N |
|||
JPA格式 |
N |
|||
阿帕奇卡夫卡 |
||||
邮件 |
N |
N |
||
MongoDB的 |
N |
N |
||
MQTT的 |
N |
N |
||
R2DBC系列 |
N |
N |
||
Redis(瑞迪斯酒店) |
Redis 入站通道适配器、Redis 队列入站通道适配器、Redis Store 入站通道适配器、Redis Stream 入站通道适配器 |
Redis 出站通道适配器、Redis 队列出站通道适配器、RedisStore 出站通道适配器、Redis 流出站通道适配器 |
||
资源 |
N |
N |
N |
|
RSocket |
N |
N |
||
SFTP的 |
N |
|||
中小型企业 |
N |
|||
STOMP |
N |
N |
||
流 |
N |
N |
||
系统日志 |
N |
N |
N |
|
技术合作计划(TCP) |
||||
UDP的 |
N |
N |
||
网络通量 |
||||
Web 服务 |
N |
N |
||
Web 套接字 |
N |
N |
||
XMPP系列 |
N |
N |
||
零MQ |
N |
N |