如何在异常情况下优雅地退出 spring 云函数定义?

How to gracefully exit a spring cloud function definition on exception scenario?

我在我的项目中使用 spring 云函数链接,如下所示:

spring.cloud.function.definition = func_A|func_B|func_C|func_D

上面的定义将func_A的结果通过管道传输到func_B,从func_Bfunc_C等等...

现在,如果我在 func_B 中有一个业务逻辑需要停止传播到以下函数(fun_Cfunc_D),该怎么做?我知道在 func_B 中抛出异常会停止传播,但是除了抛出异常之外还有什么优雅的方法吗?

基本上我在代码级别需要这样的东西:

if(true){
   proceed to `func_C` and `func_D`
}else{
  stop and return (without throwing exception)
  (or) route to a consumer function (where I will just log a message)
}

提前致谢:)

问题出在术语上。您使用的是“链接”一词,因此您提出了有关传播等的问题。 . . 然而。 . . 没有“链接”。存在“组合”,组合的结果是单个函数(就好像您自己在单个函数中编写了所有内容一样)。 如此有效,您在问如何在不产生输出的情况下调用函数?那根本无法编译。所以要么抛出异常,要么你必须 return 东西。