【问题标题】:Automatic monitoring of HTTP resources自动监控 HTTP 资源
【发布时间】:2012-05-07 08:57:24
【问题描述】:

我正在构建一个 Java 应用程序,它使用 HTTP 从大量来源收集信息。我正在寻找一个可以帮助我跟踪哪些资源在线、没有响应或响应错误代码的框架。最好还可以检测资源何时再次上线。

这是为了避免轮询未正确响应的服务器。有谁知道有没有这样的框架?我没有找到任何合适的东西。轻量级选项会很棒。

【问题讨论】:

  • 这些工具应该如何工作?无论如何,他们都必须轮询服务器(资源下线或再次上线时通常没有广播)。
  • 我在想,当我执行一个 get 请求并得到一个错误的响应/没有响应时,通知框架,如果我在 X 秒内收到 X 个这样的响应,将其标记为离线并且不要' t 重试直到 X 秒过去(或者如果有一些自动轮询检测到它)。这对我来说也有点模糊,但我认为一定有人在我之前做过这件事。 :)

标签: java http monitoring


【解决方案1】:

为了在 Java 中使用 HTTP,我可以推荐 Apache 的 HTTPClient 库。它具有良好的文档并且易于使用。

使用DefaultHttpClient 类的execute(...) 方法可以轻松找出资源是否在线。您可以通过检查响应的status line 找到状态码。

编辑:如果您使用这个库,您将不得不手动编写问题的具体方面:资源的重复轮询和某种基于事件的通知,何时资源下降或再次出现。

但是,我认为这可以很快完成,例如使用计时器。这样,您不必包含额外的框架。 HTTPClient 库是相当轻量级的,尽管这当然取决于您对这个词的定义。请注意,它依赖于 HTTPCore、commons-logging 和 commons-codec。

【讨论】:

  • 谢谢您的意见,是的,您可能是对的,我自己编写代码不会花很长时间,如果这里没有其他选项,我会研究一下!
  • 似乎还没有这样的框架。毕竟,这是某种的具体问题。但是,如果您要实施此操作,则可以改变情况! ;-)
  • 你说得对,我会承担起把这个神奇的图书馆添加到世界上的责任!
猜你喜欢
  • 1970-01-01
  • 2022-12-06
  • 2020-09-19
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多