我试图无限地运行一个监视日志文件的程序,并向数据库更新已发生的错误并跟踪某些错误的最大出现次数,以便在发生一次错误时发送电子邮件。我设法做了适当的监听和更新的程序并发送了电子邮件,但我不知道我将如何能够启动程序无限运行,因为它将监视一个实时系统。另一方面,我有一个Web UI,显示监控程序更新的信息,换句话说,即使我的Web UI在浏览器中关闭,我也不希望更新程序停止运行我想要更新程序继续运行。我想将它们分开,以便彼此独立运行。我正在为我的前端使用Servlets和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.
答案 0 :(得分: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服务进行通信,以提供一些心跳来承认它已经启动。
希望这有帮助。