在保持以前的功能时扩展春季集成?
-
12-12-2019 - |
题
所以我是新的春天集成,大多数是春天的,所以我可能不会在所有的术语上,但我正在贯穿以下情景:
我有一个小的Spring集成应用程序,具有三个SI流动...每个流都有自己的网关,每个网关都有自己的请求通道和回复通道。这些流程接收空调用(对于所有密集的目的...基本上只是一个'去'信号/空消息),并根据状态消息回复,具体取决于(微缩)业务逻辑结果。
我现在希望将这些流量的每个流量在一起以在一个请求的一个“主流”中运行,而不会带走他们单独运行的能力,并且我想通过注释/ XML完全连接它(即,给定调用主网关的服务接口的控制器,不需要在注释/ XML配置之外写入其他代码。)
是这种可行的,我应该使用哪些集成组件,以及/或我应该只需要调整每个网关的预期频道,以便彼此结束(如果是的话,如何该策略是否会弥补允许在案例基础上调用每个流程)?
另外,如果这是不可行的,请使用服务激活器调用每个子流量是否适合?我想避免更多地编码,但如果这是唯一的选择,我猜它必须做。
谢谢!
解决方案
可能是最简单的方法是使用Spring配置文件(Spring 3.1功能)。在独立模式下部署时,最终元素可以是“桥接到无处”...
<int:bridge input-channel="app1Final" />
.
...流中的最终元素没有输出通道,该消息返回到网关的回复通道。如果您愿意明确地配置桥接桥接到网关的回复通道,那也没关系;它只是不需要。
在“链接”配置文件中,您可以配置桥接...
<int:bridge input-channel="app1Final" output-channel="app2Inbound"/>
.
... app2inbound与该应用程序的网关的请求通道相同。
<beans profile="default">
<int:bridge input-channel="app1Final" />
</beans>
<beans profile="linked">
<int:bridge input-channel="app1Final" output-channel="app2Inbound"/>
</beans>
.
要使用链接的配置文件运行,将System属性“Spring.profiles.active”设置为“链接” 不隶属于 StackOverflow