[英]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.