【问题标题】:Ways to polling server status轮询服务器状态的方法
【发布时间】:2010-06-16 00:58:10
【问题描述】:

我正在尝试创建一个 JSP 页面,该页面将显示一组本地服务器中的所有状态。 目前我创建了一个调度类,它将不断轮询以 30 秒的间隔检查服务器的状态,延迟 5 秒以等待每个服务器回复,并为 JSP 页面提供信息。但是,我发现这种方式不准确,因为要更新计划类的信息需要一些时间。你们有更好的方法来检查本地网络中多个服务器的状态吗?

-- 更新--

感谢@Romain Hippeau 和@dbyrne 的回答

目前我正在尝试将代码更多地放在服务器端,即不断检查 异步更新服务器组的状态,使其更具响应性。 但是我忘了补充一点,客户端有能力控制服务器状态。因此,例如当客户端更改服务器状态,然后刷新页面时,我遇到了问题。当页面从未更新的调度类中检索信息时,它将显示服务器以前的状态。

【问题讨论】:

    标签: java jakarta-ee concurrency struts polling


    【解决方案1】:

    你可以使用Tomcat Comet这里是一篇文章http://www.ibm.com/developerworks/web/library/wa-cometjava/index.html
    该技术(是 Servlet 3.0 规范的一部分)允许您向客户端推送通知。在防火墙后面运行它会出现问题,如果您在 Intranet 中,这应该不是太大的问题

    【讨论】:

    • 感谢您的文章。我会试一试。但是目前对于Ajax,我用的是DWR框架,也提供了轮询、comet等Reverse Ajax。
    【解决方案2】:

    确保异步轮询服务器。您不想在轮询下一个服务器之前等待一个服务器的响应。这将大大减少轮询所有服务器所需的时间。从你的问题中我不清楚你是否已经这样做了。

    【讨论】:

    • 感谢 dbyrne,现在我按顺序执行此操作。你是对的,我想我会尝试用 java.util.concurrent.future 让它异步
    猜你喜欢
    • 1970-01-01
    • 2021-12-29
    • 2013-05-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多