Spring Cloud Stream:如果 enableAutoCommitOnError=true,提交调用是否保证在方法注释 @StreamListener("errorChannel") 之后发生?

Spring Cloud Stream: Are commit calls guaranteed to happen after method annotated @StreamListener("errorChannel") if enableAutoCommitOnError=true?

考虑我已经设置了 SCS 属性 enableAutoCommitOnError=true(还有 enableAutoCommitOffset=trueackEachRecord=true

而且我有一个侦听错误的方法如下:

@StreamListener("errorChannel")
public void handleError(ErrorMessage errorMessage, @Headers MessageHeaders messageHeaders)
{
...
}

我的问题是:

从我的测试来看,这两个问题的答案似乎都是肯定的,但我不确定是否有保证,或者我只是走运。

是;它会在调用错误处理程序之后发生;从侦听器容器的角度来看,整个 spring-cloud-stream 基础设施就是记录“侦听器”。