开发者社区> 问答> 正文

在Java上重试请求的最优雅方法

我正在基于ElasticSearch的Java构建自己的ES客户端RestHighLevelClient:

public class MyElasticSearchClient {
    private final RestHighLevelClient restHighLevelClient;

    @Inject
    public MyElasticSearchClient(RestHighLevelClient restHighlevelClient) {
        this.restHighLevelClient = restHighLevelClient;
    }

    public MyEntryClass get(@NonNull final String searchId) { 
        ... 
        restHighLevelClient.get(new GetRequest('index-name', 'index-type', searchId);
        ...
    }

    public DocWriteResponse.Result update(@NonNull final MyEntryClass entry) { ... };

    ...
}

不幸的是,RestHighLevelClient没有像我想要实现的Python版本这样的重试策略。

如果不对我定义的每个请求API发出垃圾邮件try / catch,是否有任何优雅的方法来实现?

展开
收起
垚tutu 2019-12-19 17:06:33 727 0
1 条回答
写回答
取消 提交回答
  • 技术架构师 阿里云开发者社区技术专家博主 CSDN签约专栏技术博主 掘金签约技术博主 云安全联盟专家 众多开源代码库Commiter

    使用注解

    2019-12-28 14:27:02
    赞同 展开评论 打赏
问答排行榜
最热
最新

相关电子书

更多
Spring Cloud Alibaba - 重新定义 Java Cloud-Native 立即下载
The Reactive Cloud Native Arch 立即下载
JAVA开发手册1.5.0 立即下载