Spring集成流程设计

时间:2015-07-14 06:26:06

标签: spring-integration

这将是我的第二个项目,它将通过使用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

哪种情况最好?

1 个答案:

答案 0 :(得分:1)

这取决于您的要求。

正如您所注意到的,两种变体都运行良好。因此,从高处来看,这是一个品味问题。但是......让我们来看看这个项目中的有用或噪音功能!

Gateway旨在在不同的层之间分配业务和集成逻辑。从另一方面来看,Gateway方法与Spring的自动装配功能一起使我们可以为我们的集成解决方案提供高级API。

所以,如果确实需要为第二次调用公开这样的高级API,请进一步思考。

如果<channel><service-activator>(或类似)对足以达到解决方案,则没有理由将我们的配置划分得如此精细!

从另一方面来看,这只是我的看法。你最终会找到自己的风格。