如何解决反应堆重试:reactor.retry.Retry vs. reactor.util.retry.Retry
我第一次在反应堆中使用重试模式。
我对在反应堆中重试的管理感到完全困惑。混淆的主要来源是同一个包中现有的 2 个 Retry 类!
我想在发生特定异常时重试 Mono/Flux 进程,次数最多。
我的第一步是以这种方式创建一个 reactor.retry.Retry
。
reactor.retry.Retry retry = reactor.retry.Retry
.anyOf(
WebClientResponseException.BadRequest.class,WebClientResponseException.BadGateway.class)
.retryMax(nRetries);
然后,我想用
参数化我的单声道mymono.retryWhen(utilRetry);
按照 Interface Retry 中的文档,我必须使用方法 reactor.retry.Retry
转换 reactor.util.retry.Retry
中的 withThrowable
对象,但是没有示例(以及示例中的示例) doc 不起作用,因为对象不兼容)。
所以,我正在寻找类似的东西
utilRetry=retry.somemethod()
欢迎任何对新手的评论!
更新:
我发现这个问题 reactor.retry.Retry does not provide methods for Mono.retryWhen(Retry retrySpec) #231 似乎存在一些迁移冲突,但没有提供规范的解决方案
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。