我试图无限地运行一个程序,该程序监视日志文件并将已发生的错误更新到数据库,并跟踪发生错误的最大次数,因此,如果一个错误发生次数过多,则发送电子邮件。我设法做了一个程序,适当地听和更新,并发送电子邮件,但我不知道我将如何能够开始程序无限运行,因为它将监测一个实时系统。另一方面,我有一个web UI,它显示监控程序更新的信息,换句话说,我不希望更新程序停止运行,即使我的web UI在浏览器中关闭,在后台我希望更新程序继续运行。我想把他们分开让他们独立运作。我的前端使用Servlets和JSP。我正在考虑在servlet中启动更新程序,但我认为当它关闭时,更新程序将停止运行,这正是我想要避免的。任何类型的建议都会受到高度赞赏,任何允许无限运行程序的工具,只有在服务器停机和提前感谢时才停止。
注意:我想使用log4j将错误附加到数据库中,以便更容易地进行更新,但是系统的设计并不是为了满足我的需求,所以我别无选择,只能使用这种方法。
发布于 2013-07-07 07:33:23
假设Web显示从数据库检索到的信息,如果您想将web与监视程序分离开来,我建议保持单独的本地Java进程运行,该进程不断监视日志文件并更新数据库。数据库将用作两个Web和Java进程之间的通信介质。
这样,Java进程将保持独立于Web,并且可以无限期地运行。
你这样想-
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服务进行通信,以提供一些心跳来确认它已经结束。
希望这能有所帮助。
https://stackoverflow.com/questions/17509814
复制相似问题