这将是我的第二个项目,它将通过使用Spring集成来实现。在我的第一个项目.But成功发布后,我对这个体系结构非常有信心,在定义外部调用流程时,我几乎没有什么需要澄清的地方。在我的体系结构中,我们有多个调用数据库、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哪种情况最好?
发布于 2015-07-14 12:54:43
这取决于你的要求。
正如您注意到的,这两个变体都运行良好。所以,从大的高度来说,这是一个品味的问题。但是..。让我们来看看这个有用的或噪音的功能在我们的项目!
Gateway被设计为在不同的层之间分发业务和集成逻辑。另一方面,Gateway方法和Spring的自动装配特性允许我们有一个高级别的API来实现集成解决方案。
因此,如果确实需要为第二个调用公开这样一个高级API,请进一步考虑一下。
如果<channel>和<service-activator> (或类似的)对足够达到解决方案,那么没有理由这么精细地划分我们的配置!
从另一个角度来说,这只是我的观点。通过经验,你最终会找到自己的风格。
https://stackoverflow.com/questions/31399202
复制相似问题