elasticsearch,retry-logic,Java,elasticsearch,Retry Logic" /> elasticsearch,retry-logic,Java,elasticsearch,Retry Logic" />

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

在Java上重试请求的最优雅方式,java,elasticsearch,retry-logic,Java,elasticsearch,Retry Logic,我正在基于ElasticSearch构建自己的Java ES客户端: 不幸的是,RestHighLevelClient没有我想要实现的重试策略 如果不在我定义的每个请求API上滥发try/catch,有没有优雅的方法来实现这一点?这是非常需要的,想知道它是否存在于python中,那么为什么不存在于java中,你也可以在他们的github repo中引发一个bug这是非常需要的,想知道它是否存在于python中,那么为什么不存在于java中,你也可以在他们的github repo中引发一个bug

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

不幸的是,
RestHighLevelClient
没有我想要实现的重试策略


如果不在我定义的每个请求API上滥发try/catch,有没有优雅的方法来实现这一点?

这是非常需要的,想知道它是否存在于python中,那么为什么不存在于java中,你也可以在他们的github repo中引发一个bug这是非常需要的,想知道它是否存在于python中,那么为什么不存在于java中,你也可以在他们的github repo中引发一个bug
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) { ... };

    ...
}