我正在将Seam2驱动的应用程序迁移到CDI,其中一件对我来说至关重要的事情就是错误处理。在Seam2中,我简单地用自己的异常处理程序替换了默认的异常处理程序,但在CDI中,我猜我将不得不使用Interceptor。
我该如何设置它,因为使用拦截器需要我指定它将在哪里拦截调用?我主要想完成审计,所以当异常发生时,它会被记录下来,然后向管理员发送通知(电子邮件、xmpp、sms、电话)。
当一个异常发生时,有没有一个简单的事件可以让我监听并采取行动?
沃尔特
发布于 2010-07-18 16:13:46
你在使用JSF2吗?如果是,您可以在您的web.xml as described here中注册一个ExceptionHandlerFactory,而不是编写一个拦截器。在CustomExceptionHandler中,您可以捕获所有异常并以编程方式处理它们。我在我的JEE6-CDI-app中使用了这种方法,我觉得它还不错。
https://stackoverflow.com/questions/3136217
复制相似问题