为什么stored-procedure-name-expression =“headers ['procedureName']”

时间:2017-11-28 07:05:26

标签: spring stored-procedures spring-integration spring-jdbc

我想知道为什么Spring集成存储过程在 stored-proc-outbound-gateway <中提供了 stored-procedure-name-expression / EM> 即可。我问这个的原因是因为我使用0来开发一个无状态集成组件,它将从各种其他微服务接收存储过程名称作为Message头的一部分,并针对目标oracle数据库执行它。

根据我的架构师评论,他不喜欢这个设计,并声明“没有可重复使用的集成”,程序名称应该直接配置。

所以我想理解,如果我的架构师评论是正确的,那么为什么Spring团队在stored-proc-outbound-gateway 中提供了stored-procedure-name-expression?

我正试图用理性和事实来学习自己。因此,您的意见和观点受到高度赞赏。

1 个答案:

答案 0 :(得分:0)

静态配置名称只有stored-procedure-name

当您的应用程序(例如多租户)和每个用户在他自己的方案或目录中调用相同的过程时,表达式变体是有意义的。

我没有在你的问题中看到任何争论为什么“没有可重用的集成”这样的东西,因为我们可以通过动态提供它来重复使用一些我们可以重用的出站系统的网关。已解决的描边程序名称。

另一方面,我认为这个表达式属性已被社区成员日志请求了。并确保他/她有一个参数在运行时这样做。例如,在刷新Config Server之后。可能还有许多其他用例。