转载:
https://blog.csdn.net/u011863024/article/details/115721328#comments_20492057
public class SomeClass {
public static void main(String[] args) throws IOException {
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("localhost", 9200, "http")));
...doSomething
client.close();
}
}
重构后:
import org.elasticsearch.client.RestHighLevelClient;
public interface ElasticsearchTask {
void doSomething(RestHighLevelClient client) throws Exception;
}
public class ConnectElasticsearch{
public static void connect(ElasticsearchTask task){
// 创建客户端对象
RestHighLevelClient client = new RestHighLevelClient(
RestClient.builder(new HttpHost("localhost", 9200, "http")));
try {
task.doSomething(client);
// 关闭客户端连接
client.close();
} catch (Exception e) {
e.printStackTrace();
}
}
}
public class SomeClass {
public static void main(String[] args) {
ConnectElasticsearch.connect(client -> {
//do something
});
}
}
本文介绍了如何将Elasticsearch操作重构为独立接口,通过`ElasticsearchTask`抽象调用,实现`RestHighLevelClient`的高效管理。重构后的代码更加模块化,便于维护和复用。
3058

被折叠的 条评论
为什么被折叠?



