如何避免流在处理程序返回null时停止?

问题描述 投票:0回答:1

我有以下配置:

flow -> flow.handle(myHandler)
                .filter(p -> {
                    log.warn("FILTER IS INVOKED");
                    return p != null;
                }

[如果myHandler#handle返回null-不调用过滤器。

如何实现将空值传递给过滤器?

java spring-integration spring-integration-dsl
1个回答
2
投票
我想出了解决方法:在处理程序返回类型上创建包装器:

class Wrapper { Foo foo; ... }

在这种情况下,我可以执行以下操作:

flow -> flow.handle(myHandler) .filter(p -> { log.warn("FILTER IS INVOKED"); return p.getFoo() != null; }

© www.soinside.com 2019 - 2024. All rights reserved.