Operator intercept()

从 5.3 版本开始,intercept() 操作符允许在流中当前的 MessageChannel 上注册一个或多个 ChannelInterceptor 实例。 这提供了一种替代方案,无需通过 MessageChannels API 创建显式的 MessageChannel。 以下示例使用 MessageSelectingInterceptor 来拒绝某些带有异常的消息:

.transform(...)
.intercept(new MessageSelectingInterceptor(m -> m.getPayload().isValid()))
.handle(...)