我需要检查linux服务器中的GlassFish日志文件,并检查是否有我发送电子邮件的特定错误。有一种方法可以让我创建一个web服务,每2分钟执行一次吗?我怎么能这样做?我正在使用Java和GlassFish。
答案 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/,以实时监控日志文件,并且开销更低(并且您可以减少工作量)。