写了一个线程用来监听一些系统输出结果,线程启动后会一直在运行,按照一定频率扫描输出目录,处理任务时如果出现了一些错误,比如找不到目标文件,数据库连接中断等,同一个错误会在接下来的每一轮扫描处理时被发送给系统维护人员,当然我只需要它被发送一次,有没有什么思路能解决这个问题?
把错误代码当成key放在在map里面,有存在的话就不发送了。解决了就去掉。
1.不要用一个线程在后台运行,用定时器会更方便一点。
2.对上次发现的错误进行缓存,发送时比较新旧数据即可。这样做,有可能导致上次发现的但是还没有修复的问题在本次发送结果中被遗漏
楼上我不认同,这个用线程好!
线程内进行异常捕捉,不同异常都要分开处理!然后记录下这个异常,下次再次异常时进行比较是否是一类异常,注意是一类!例如:DataFormatException,同样是DataFormatException当然不用再次发送!