我正在开发一个spring集成项目,目前我们在某些情况下使用return null来结束流程。一般返回null不是一个好习惯,我正在寻找替代方案。我尝试抛出异常停止流动,我认为比返回null更好。但在某些情况下,单个发布 - 订阅 - 通道有两个流,在那些情况下抛出异常会停止流。是否有更好的方法来阻止SI中的流量?
答案 0 :(得分:1)
正如你所说:返回null
。有一种方法可以通过某种条件(同样您决定返回null
)路由到出站通道适配器,这是一个单向组件,因此也就是流的结束。但这太过于罗嗦了。虽然将来您可以灵活地在{{1}}案例中做任何其他事情。
对,异常方式可能会导致意外行为,尤其是在第一次调用后有逻辑时,例如在您的发布 - 订阅案例中。但是当你使用具有该通道的执行程序时,你仍然可以这样做。