Spring集成 – 入站和出站通道适配器

入站和出站通道适配器之间的根本区别是什么?

任何例子都会非常有用。

我已经回顾了Spring文档,这种“定向”区别对我来说并不清楚。 我支持配置了出站通道适配器的应用程序,但我发现行为计数器直观的出站标签。 此适配器获取外部文件,然后将其带入我们解析文件并保留数据的应用程序。

这与此问题类似,但我希望更多地关注通道适配器,并希望获得更多反馈!

谢谢!

通道适配器用于单向集成(网关是双向的)。

具体而言,入站适配器位于流的开头,出站适配器终止流。 流通常被渲染(并且在概念上被认为是从左到右流动)……

inbound-ca->someComponent->someOtherComponent->outbound-ca 

(其中->代表一个频道)。

有两种类型的入站通道适配器:

  • MessageProducer s
  • MessageSource

MessageProducer被称为“消息驱动”,即它们一旦启动就以单一方式以完全异步的方式生成消息; 示例是JMS消息驱动适配器,TCP入站通道适配器,IMAP空闲(邮件)通道适配器等。

另一方面, MessageSource被轮询 – 具有一些触发器的poller导致框架向源询问消息; 触发器可以是固定速率,cron表达式等。示例是(S)FTP适配器,邮件入站适配器(POP3.IMAP)。

出站适配器的示例是邮件出站适配器(SMTP)。

网关是双向的(请求/回复)。

入站网关是一些外部系统发送请求和Spring Integration回复的地方。

出站网关是Spring Integration发出请求和一些外部系统回复的地方。

我希望能够解决问题。

进出是相对方向,它必须有一个基础。 在Spring集成中,基础是Spring集成框架(可以看作是消息总线),适配器将消息放入其中,适配器从中发出消息。