问题描述
我第一次在反应堆中使用重试模式。
我对在反应堆中重试的管理感到完全困惑。混淆的主要来源是同一个包中现有的 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 (将#修改为@)