建议过滤器
在建议使用 Filter 建议时,还有一个额外的注意事项。默认情况下,任何丢弃操作(当过滤器返回 false 时)都在建议链的范围内执行。这可能包括丢弃通道下游的所有流程。因此,例如,如果丢弃通道下游的某个元素抛出异常,并且存在重试建议,则该过程将被重试。此外,如果 throwExceptionOnRejection 设置为 true(异常在建议范围内抛出),也会发生这种情况。
将 discard-within-advice 设置为 false 会改变此行为,丢弃(或异常)将在调用建议链之后发生。