如何使用 SolrPing 检查 Solr 状态

How to check Solr Status with SolrPing

我需要检查 Solr 机器和 Solr 服务是否启动 运行; 我有一个 java 服务器需要知道这一点。我使用 SolrJ 库与 Solr 通信并查询它。我使用 Solr 7.3.0 我想我可以用 SolrPing class 测试 Solr 状态,但我总是得到这个异常。

Server refused connection at: http://localhost:8983/solr

这是我的 solr ping 调用

SolrClient solrClient = new HttpSolrClient(solrBaseUrl);
SolrPing solrPing = new SolrPing();
SolrPingResponse pingResponse = solrPing.process(solrClient);
int status = pingResponse.getStatus();
System.out.println(status);

我想念什么?它在 .process 调用上失败。 solrBaseUrl 是正确的,并且我的 solr istance 已关闭(所以我应该期待状态 -1)

谢谢大家

既然你得到了异常,捕获异常并return -1(或者在你的应用程序中做任何事情"this service is down")。

如果您决定这意味着 -1,那由您决定。

process方法是SolrJ中向服务器发送command/request的通用方法,连接错误异常是该方法无法连接时抛出的通用响应异常到服务器(因此,大多数命令将具有未定义的状态 - ping 命令可能是唯一的例外)。