在提供建议时,还有一个额外的考虑因素。
默认情况下,任何 discard 操作(当 filter 返回时)都在 advice 链的范围内执行。
这可能包括 discard 通道下游的所有流。
因此,例如,如果 discard 通道下游的 element 抛出异常并且存在重试建议,则会重试该过程。
此外,if 设置为 (异常在通知范围内引发)。Filter
false
throwExceptionOnRejection
true
设置为 修改此行为,discard (或 exception) 发生在调用通知链之后。discard-within-advice
false