如何最好地使用Java验证与elasticsearch的客户端连接?

时间:2011-11-14 18:59:08

标签: java elasticsearch

我想要一种简单的方法来验证ES是否可用于Java 客户。我有一个看起来像这样的工厂来获得一个 客户端实例:

https://gist.github.com/1364734

优雅地处理ES不存在的场景的最佳方法是什么 可用的还是我有足够的?

1 个答案:

答案 0 :(得分:0)

Shay之前已经证实这种做法很好。该方法由the documentation as well支持。

优雅处理。您应该只是错误尝试执行搜索的请求或进程。 TransportClient可能已连接,未来的请求可能会成功。

为了完整起见,在此处复制您的功能。

private void verifyConnection(TransportClient client) {
    ImmutableList<DiscoveryNode> nodes = client.connectedNodes();
    if (nodes.isEmpty()) {
        throw new ElasticSearchUnavailableException("No nodes available. Verify ES is running!");
    } else {
        log.info("connected to nodes: " + nodes.toString());
    }
}

来自https://gist.github.com/1364734