繁体   English   中英

如果没有结果,Quarkus Mutiny 多异常处理

[英]Quarkus Mutiny Multi Exception handling if no result

如果多流不返回任何内容(多流结果为空/空),我需要抛出一个特定的异常;

这是我的存储库方法:

return reactiveRepository.findAllById(idList);

它返回一个

Multi<WhateverModel>

如果上述存储库方法没有返回任何内容/null/空流,我有没有办法抛出异常?

我试过过滤器,但如果底层 repo 方法没有返回结果,它就不会被调用。

您可以在完成时检查流是否为空:

stream.onCompletion().ifEmpty().continueWith("a", "b", "c");

这可能就是您所需要的。 您还可以在超时之前检查您是否收到了物品:

stream.ifNoItem().after(timeout)
    .recoverWithMulti(Multi.createFrom().items("a", "b", "c"))

但是,并不是说Multi可能不是您在这里寻找的东西。 在处理关系数据库时,通常最好使用Uni<List<?>> ,因为它们的协议不支持流,并且基本上,它需要通过保持连接打开来模拟应用程序中的流。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM