如何每2分钟调用一次Web服务

时间:2013-09-05 17:49:35

标签: java linux web-services logging glassfish

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

2 个答案:

答案 0 :(得分: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

另见:

答案 1 :(得分:1)

通过GlassFish经常对其自己的日志文件进行无状态扫描似乎有点难过。除非您有限制访问服务器的约束,否则我会设置一个单独的进程,例如http://www.crypt.gen.nz/logsurfer/,以实时监控日志文件,并且开销更低(并且您可以减少工作量)。