在处理许多并发请求的应用服务器中,某些请求会出现异常 - 例如未知用户、无法访问第三方系统等
鉴于请求数量很高,仅将这些转储到日志中并不是很有帮助。我们已经开始保留 JMX 公开的关键错误计数器并将其绘制成图表,但我想知道是否有人知道一个好的异常处理管道,例如:
boolean canContinue = exceptionManager.submit(Throwable)
ExceptionManager 将为每个专门的异常配置一个处理程序,以及通用的回退。这些将决定如何进行 - 例如返回失败、记录并继续等。此外还可以通过单点公开指标。
这似乎是某人已经正式化的东西 - 所以在我重新发明轮子之前,如果您明白我的意思并且知道一个好的框架,请告诉我!
谢谢。
最佳答案
Apache Camel 已将其实现为其路由机制的一部分,但是如果您不使用 Camel,那么迁移到它并不是一个选择。 因此,我认为最好的举措是拥有一个单独的 error.log 文件以及您提到的 JMX 页面。如果处理错误是通用的,您可以利用 AOP 来实现这些目的。
关于java - 大容量应用程序服务器中的异常报告管道,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7089257/