当前位置: 首页 > 面试题库 >

Spring集成-入站与出站通道适配器

卢皓轩
2023-03-14
问题内容

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

任何示例都将非常有帮助。

我已经查看过Spring文档,这种“方向性”的区别对我来说还不清楚。我支持配置了outbound-channel-adapter的应用程序,但是我发现使用
出站 标签可以直观地了解行为计数器。该适配器获取一个外部文件,然后 将其 引入应用程序中, 该应用程序中我们解析文件并保留数据。

这类似于这个问题,但是我想更集中地关注通道适配器,并希望获得更多反馈!

谢谢!


问题答案:

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

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

inbound-c-a->someComponent->someOtherComponent->outbound-ca

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

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

  • MessageProducers
  • MessageSources

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

MessageSource另一方面,对s进行轮询-
poller具有触发条件的a会导致框架向消息源询问消息;(S)FTP适配器,邮件入站适配器(POP3。IMAP)。

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

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

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

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

我希望这可以解决问题。



 类似资料:
  • 问题内容: Spring Integration FTP中的入站通道适配器和出站通道适配器之间有什么区别?我应该使用哪一个?何时使用? 我从文档中了解到,出站可以发送任何类型的文件(例如byte [],String,java.io.File),但入站仅限于文件类型。那仅仅是区别还是其他? 问题答案: 我建议您首先阅读理论 。 任何Inbound适配器都旨在从外部系统获取数据。Outbound-放置

  • 如何通过注释而不是常规配置文件配置入站通道适配器?我可以为会话工厂定义bean,如下所示: 如何配置通过注释下给出的入站通道适配器? 我正在寻找的是在应用程序启动时连接所有bean,然后公开一些方法来开始轮询服务器,处理它们,然后从本地删除它们,类似于 其中getPollableChannel()为我提供了用于轮询的bean。

  • 我试图将从Quickfix读取消息(读取修复消息)配置到spring集成中。我知道我可以使用入站通道适配器从外部源(如QuickFix)读取数据。您能提供如何编写事件驱动入站通道适配器的示例吗?我有以下配置不起作用

  • 使用Spring Integration Kafka,使用出站通道适配器,我尝试向名为“test”的主题发送消息 通过命令行终端,我启动了动物园管理员、kafka并创建了名为“test”的主题 Spring XML配置 JUnit测试代码 测试用例成功,在调试时,我发现channel.send()返回true 我使用下面的命令通过命令行检查了主题,但是我在测试主题中看不到任何消息。 bin/kaf

  • 我有一个模型对象,它是在多次转换和解析之后填充的。现在,我需要使用spring集成将模型中的消息属性发送给kafka。我可以使用messageKey方法构造键,但如何从m.getPayload()之类的模型中获取实际消息。getMessage()并将其发送给Kafka。