我是Spring集成的新手,正在经历服务激活器的定义。定义说它用于call a method and wrap the result in the response message.
该定义也告诉它是outbound gateway for invoking the bean method.
我不清楚第二个语句。据我所知,出站网关是将请求从应用程序发送到外部应用程序并将响应返回到应用程序中。因此,如果调用bean,则在应用程序中调用它,因此它应该是入站网关权限。请让我知道我错在哪里。
答案 0 :(得分:1)
有两种类型的集成 - 使用各种协议的外部系统,以及使用方法调用的旧版Java代码。
其中包括单向集成(由通道适配器提供)和双向集成(请求/响应,由网关提供)。在每种情况下,集成都可以入站到消息流,也可以从消息流出站。
<int: .../>
命名空间提供入站和出站通道适配器,用于从消息传递流调用遗留代码,在后一种情况下(出站),方法返回类型必须为null
。您也可以使用服务激活器调用相同的方法,但首选通道适配器是因为它清楚它是单向集成。
在入站端,提供了消息传递网关(<int:gateway/>
),以允许旧版Java代码与消息传递流(&#34; call&#34; it)进行交互,而不会产生任何特定的依赖关系。
没有<int:outbound-gateway/>
用于调用方法,因为服务激活器提供了该功能。
如果您可以向我们指出导致混淆的文档,我们可以尝试改进它;请打开documentation JIRA issue。