Spring integration Spring集成流程设计

Spring integration Spring集成流程设计,spring-integration,Spring Integration,这将是我的第二个项目,将使用Spring集成来实现。在我的第一个项目成功发布之后,我对这个体系结构非常有信心。但是我对定义外部调用流没有什么需要澄清的。在我的体系结构中,我们有多个调用数据库、web服务和缓存服务器,并且我们像在单个流中一样定义了这些流 情景1 channel- >JDBCOutbound -> router ->splitter ->WSOutbound -> Aggregator ->reply channel. 在这里,所有外部服务调用

这将是我的第二个项目,将使用Spring集成来实现。在我的第一个项目成功发布之后,我对这个体系结构非常有信心。但是我对定义外部调用流没有什么需要澄清的。在我的体系结构中,我们有多个调用数据库、web服务和缓存服务器,并且我们像在单个流中一样定义了这些流

情景1

channel- >JDBCOutbound -> router ->splitter ->WSOutbound -> Aggregator ->reply channel.
在这里,所有外部服务调用都是从单个网关执行的。这些是好的方法还是我们可以定义如下的单独门方式调用

情景2

Seq 1) Gateway ->JDBCOutbound -> router ->reply channel.

Seq 2) Gateway(use the response from Seq 1) ->splitter ->WSOutbound -> Aggregator ->reply channel

哪种方案最好?

这取决于您的需求

正如您所注意到的,这两种变体都工作得很好。因此,从大的高度来看,这是一个品味的问题。但是让我们来看看这个项目中有用的或噪音的功能!
Gateway
设计用于在不同的层之间分发业务和集成逻辑。另一方面,网关方法与Spring的自动布线功能使我们能够为集成解决方案提供高级API

因此,如果真的需要为第二次调用公开这样一个高级API,请再进一步考虑

如果
(或类似)对足以达到解决方案,则没有理由如此精细地划分我们的配置

从另一方面来说,这只是我的观点。随着经验的积累,你最终会找到自己的风格