我对弹簧集成网关有疑问。 当我从文档http://docs.spring.io/spring-integration/reference/htmlsingle/#gateway中读到时,我们有一个通用网关。
因此,我无法理解为新集成构建任何特定出站或入站网关的原因。有没有具体的理由去开发自定义网关?
提前致谢 问候 格利扬
答案 0 :(得分:1)
@MessagingGateway
(<gateway>
)表示Messaging子系统的POJI适配器,您的原始代码不关心内部,只处理目标域。这是一种应用程序内集成。
当您需要与外部世界(或某些特定内部协议,例如Spring应用程序事件)进行交互时,您仍需要以某种方式使其适应您的Messaging子系统。为此,我们有inbound
网关/适配器从外部系统/协议和outbound
网关/适配器接收数据/事件/包/消息,以将消息转换为协议特定实体并发送到那里。
网关是双向请求/回复抽象。适配器只有单向:仅接收或仅发送。
您可以在EIP Book中找到一些网关说明。
Spring Integration中涵盖了大多数流行的协议,例如: HTTP,AMQP,JMS,WebSockets,JDBC,Mail等。
如果Spring Integration中存在所需的协议适配器实现,则需要自定义网关(入站或出站)。</ p>
但是,是的,例如,不要在@MessagingGateway
(入站)或HttpRequestHandlingMessagingGateway
(出站)网关的简单界面上混用SftpMessageHandler
。