我正在基于 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,是否有任何优雅的方法来实现这一点?