0

我需要检查 linux 服务器中的 GlassFish 日志文件,并检查它是否有特定错误,我为我发送了一封电子邮件。有一种方法可以让我创建一个每 2 分钟执行一次的网络服务吗?我怎么能做到?我正在使用 Java 和 GlassFish。

4

2 回答 2

1

如果您使用的是 Java EE 6 或 Java EE 7,则可以尝试以下操作:

@Singleton
@Startup
public class MonitorBean {

    @Schedule(hour = "*", minute = "*/2", second = "0", persistent = false)
    public void searchErrorInLog() {
        // Read the log file
        // Looking for some error string
        // If found, send mail
    }

}

也许您应该节省最后一个事件的时间以避免重复。作为单个实例,在应用程序服务器运行时维护状态。另一种解决方案是使用Quartz

也可以看看:

于 2013-09-05T17:59:34.747 回答
1

对我来说,每隔一段时间通过 GlassFish 对其自己的日志文件进行无状态扫描似乎有点矫枉过正。除非您有限制访问服务器的约束,否则我会设置一个单独的进程,例如http://www.crypt.gen.nz/logsurfer/来实时监控日志文件,而开销要低得多(而且工作量更少在你身边 :)。

于 2013-09-05T23:49:52.870 回答