为了账号安全,请及时绑定邮箱和手机立即绑定

可以将重试配置为重试 null 吗?

可以将重试配置为重试 null 吗?

森林海 2023-04-13 10:46:59
我刚开始使用 resilience4j,想知道是否可以设置重试以重试空结果。这是一个例子:Retry retry = Retry.ofDefaults("retry");Retry.decorateSupplier(retry, () -> (String) null).get();assertThat(retry.getMetrics().getNumberOfSuccessfulCallsWithoutRetryAttempt()).isEqualTo(0);这失败了,因为返回 null 是可以的。是否可以配置空重试。
查看完整描述

1 回答

?
慕桂英3389331

TA贡献2036条经验 获得超8个赞

创建一个RetryConfig自定义的retryOnResultPredicate返回true如果result是null:


RetryConfig customConfig = RetryConfig.custom()

    .retryOnResult(response -> response == null)

    .build();

然后在创建实例时将其用作配置参数Retry:


Retry retry = Retry.of("retry", customConfig);

Retry.decorateSupplier(retry, () -> (String) null).get();

assertThat(retry.getMetrics().getNumberOfSuccessfulCallsWithoutRetryAttempt()).isEqualTo(0);



查看完整回答
反对 回复 2023-04-13
  • 1 回答
  • 0 关注
  • 87 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信