0

我正在尝试无限运行一个程序,该程序监视日志文件并将已发生的错误更新到数据库并跟踪某些错误的最大出现次数,以便在一个错误发生太多次时发送电子邮件。我设法完成了适当地监听和更新并发送电子邮件的程序,但我不知道我将如何启动程序以无限运行,因为它将监控实时系统。另一方面,我有一个 Web UI 显示由监控程序更新的信息,换句话说,即使我的 Web UI 在浏览器中关闭,我也不希望更新程序停止运行,在我想要的幕后更新程序以继续运行。我想将它们分开,以便它们彼此独立运行。我在前端使用 Servlet 和 JSP。我正在考虑在我的 servlet 中启动更新程序,但我想当它关闭时,更新程序将停止运行,这是我试图避免的。非常感谢任何类型的建议,任何允许无限运行程序并且仅在服务器关闭时停止的可用工具,并提前致谢。

NB: I wanted to use log4j to append errors to database to allow me easier 
updating but the system wasn't designed to accommodate my requirements so
I have no choice but to use this approach.
4

1 回答 1

0

假设 Web UI 显示从数据库中检索到的信息,并且如果您想将 Web UI 从监控程序中分离出来,我建议保持一个单独的本地 Java 进程运行,该进程持续监控日志文件并更新数据库。数据库将用作两个 Web UI 和 Java 进程之间的通信媒介。

这样,Java 进程将保持独立于 Web UI 并且可以无限期地运行。

这样想——

1. Java process updates the database as it monitors the log file
2. The Web UI reading from database whenever it is up.

Java 进程可能还可以与 Web UI 服务进行通信,以提供一些心跳来确认它已启动。

希望这可以帮助。

于 2013-07-07T07:33:23.807 回答