微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Micronaut Consul 客户端和重试支持

如何解决Micronaut Consul 客户端和重试支持

从 Consul 加载配置时,Micronaut 中的 discovery Client 是否支持重试模式?

我在文档中找不到示例:https://docs.micronaut.io/latest/guide/#distributedConfiguration 或项目源。 唯一支持重试的组件是 Micronaut Consul Service discovery。

然而,当 Consul Config 需要重试时,有一些用例。而 Spring Cloud Consul 从一开始就支持它。 因此,如果它本身不受支持,是否有任何方法可以提供自定义用户定义解决方案?

谢谢, 谢尔盖

解决方法

不是开箱即用的,但自定义起来很简单,因为 ConsulConfigurationClient 使用了另一个 bean 的 ConsulClient 实现。

您可以使用以下内容替换此 bean 以应用适合您的任何重试策略:

    @Client(id = ConsulClient.SERVICE_ID,path = "/v1",configuration = ConsulConfiguration.class)
    @Requires(beans = ConsulConfiguration.class)
    @BootstrapContextCompatible
    @Replaces(AbstractConsulClient.class)
    @Retryable(attempts = "5",delay = "1s")
    abstract class MyConsulClient extends AbstractConsulClient {

    }

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。