java - CDI——处理错误

标签 java jakarta-ee seam cdi jboss-weld

我正在将我的 Seam 2 支持的应用程序迁移到 CDI,对我来说最重要的事情之一就是保留错误处理。在 Seam 2 中,我只是用自己的异常处理程序替换了默认的异常处理程序,但在 CDI 中,我猜我必须使用拦截器。

由于使用拦截器需要我指定它将拦截调用的位置,因此我该如何设置?我主要想完成审核,因此当发生异常时,将其记录下来,然后向管理员发送通知(电子邮件、xmpp、短信、电话)。

当异常发生时,是否有一个我可以监听并采取行动的事件?

沃尔特

最佳答案

您使用的是 JSF2 吗?如果是,您可以在 web.xml as described here 中注册一个 ExceptionHandlerFactory,而不是编写 Interceptor。 。在 CustomExceptionHandler 中,您可以捕获所有异常并以编程方式处理它们。 我在我的 JEE6-CDI-app 中使用这种方法,发现它相当不错。

关于java - CDI——处理错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/3136217/

相关文章:

jakarta-ee - 缺少 [类(class)] 的类(class)详细信息。为 [class] 使用现有的类字节

java - 未调用接缝页面操作

java - 我的数据库不支持创建的查询

java - 获取网络计算机名称

jakarta-ee - 在 Web 层和业务层之间使用 RMI 或 JMS 的优缺点是什么?

java - 请告诉我何时在 java 中使用 getInstance() 方法。

Spring MVC与接缝

java - Spring Cloud Stream 手动偏移管理

java - (java) 我的素数生成器最多只能工作 200

java - 是否必须在 JBOSS AS 上将 RESTEasy 与 Spring 集成?