我需要一个监视器类,定期检查给定的HTTP URL是否可用。我可以使用Spring TaskExecutor抽象来处理“定期”部分,所以这不是本文的重点。问题是:在Java中ping URL的首选方式是什么?
下面是我的当前代码作为起点:
try {
final URLConnection connection = new URL(url).openConnection();
connection.connect();
LOG.info("Service " + url + " available, yeah!");
available = true;
} catch (final MalformedURLException e) {
throw new IllegalStateException("Bad URL: " + url, e);
} catch (final IOException e) {
LOG.info("Service " + url + " unavailable, oh no!", e);
available = false;
}
- 这个东西好用吗(它能做我想要的吗)?
- 我是否需要关闭连接?
- 我猜这是一个
GET
请求。有没有一种方法可以发送HEAD
请求呢?