我正在运行一个从solr服务器获取搜索结果的应用程序。但是当服务器没有运行时,我得不到服务器的响应。有什么办法可以发现我的服务器没有运行,所以我可以给出正确的错误信息
答案 0 :(得分:9)
您可以定期ping您的服务器(例如http://localhost:8983/solr/admin/ping
),如果错误将该消息传递到前端......
答案 1 :(得分:3)
如果您有SolrServer
个对象,只需调用SolrServer.ping()
,如果无法建立连接,则会抛出异常。
答案 2 :(得分:1)
如果服务器没有及时响应(solr),那么你应该考虑表示它正在关闭并出现错误消息,无论它是否存在(即它需要很长时间因为它超载了)。如果需要永远将其加载到用户:)
大多数solr客户端都有超时和某种错误回调。如果发生超时,则显示错误。
如果你想非常快地知道服务器已关闭,你可以将一个JSP放在solr上,除了打印出一条消息之外什么都不做。然后对JSP执行HTTP GET,如果它没有很快出现,那么服务器就会关闭。
答案 3 :(得分:0)
您应该使用类似Nagios的内容来监控您的硬件状态。 Nagios也有一个很好的plugin for solr可以帮助你。
答案 4 :(得分:0)
似乎应该有一种简单的方法可以通过 HTTP 执行此操作,来自服务器的通用开/关响应将是理想的选择。除此之外,您可以做的一件事就是 GET
host:port/solr
,如果您收到除 200
以外的任何响应,请假设它已关闭。