将外部数据导入Web应用程序

时间:2013-01-04 04:01:50

标签: java jsf web-applications

我是一名经验丰富的应用程序开发人员,现在必须开发一个我没有很多经验的Web应用程序。

我正在开发一个包含许多分布式服务器组件的项目。它目前有一个客户端应用程序,可以监视这些组件,查看警报和日志等。每个服务器计算机的状态通过tcp / ip上的专有协议提供。

当前基于UI的应用程序有一个线程,它持续监视消息的套接字连接,并在内存中接收存储所有内容的当前状态,然后将其显示给用户。

我的问题是如何在Web应用程序环境中实现类似的功能。我的第一个想法是在服务器启动时创建一个类似的通信线程,然后当用户请求数据时,响应是从内存中的数据构建的,但阅读有关启动自己的线程的Web应用程序是不好的做法。

我已经阅读了一些关于使用Quartz或TimerTask在Web应用程序中运行定期计划任务的内容,但此任务更加连续。它仍然是要走的路吗?

我正在使用在Linux上运行Tomcat的JSF开发Java中的Web应用程序。哦,应用程序将有少量的并发用户。 (最多25个但更可能是2个或3个)

2 个答案:

答案 0 :(得分:0)

方法1

使用Quartz很好。建议不要使用TimerTask。

方法2

我假设Web应用程序有某种数据库。由于您需要根据用户请求显示状态,而不是实时您可以执行的操作是编写一个独立的守护程序应用程序(而不是Web应用程序),该应用程序读取服务器状态并更新Web应用程序可见的表。当发出用户请求时,可以引用该表来产生输出。

答案 1 :(得分:0)

为什么要将此作为服务器问题?在您的客户端(浏览器)中,您可以轮询当前状态并根据显示调整显示。这样做可以消除很多复杂性。

关于客户端的更新方式,这取决于您的应用。如果您只允许使用现代浏览器,则可以查看HTML5 WebSockets。其他选项是使用AJAX部分更新屏幕或完成屏幕刷新。

相关问题