java - 轮询服务器状态的方法

标签 java jakarta-ee concurrency struts polling

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

-- 更新--

感谢@Romain Hippeau 和@dbyrne 的回答

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

最佳答案

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

关于java - 轮询服务器状态的方法,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3050082/

相关文章:

java - 从 java.lang.reflect.Method 对象获取方法引用

java - 列出并发失败

jakarta-ee - 无法加载类 - JDBC

java - 野蝇 17 + Json-b

jakarta-ee - 将远程 EJB 公开为 CDI bean

java - 用于测试多线程 Java 应用程序的确定性记录/重放框架

java - 找不到按钮 "Show Selected Element only"Eclipse Java EE

mysql - SQL语句是否立即执行?

单线程的 Java 线程池未按预期运行

java - resultSet.next() 返回 false,即使表已填充