如果处理程序返回 null,如何避免流停止? [英] How to avoid flow stopping in case of handler returns null?

查看:40
本文介绍了如果处理程序返回 null,如何避免流停止?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有以下配置:

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

如果 myHandler#handle 返回 null - 过滤器不会被调用.

In case if myHandler#handle returns null - filter is not invoked.

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

How could I achieve passing null value to the filter ?

推荐答案

我想出了解决方法:在处理程序返回类型上创建包装器:

I came up with workaround: create wrapper over handler return type:

class Wrapper {
   Foo foo;
   ...
}

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

At this case I can do following:

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

这篇关于如果处理程序返回 null,如何避免流停止?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆