我目前能够使用自定义异常处理程序捕获所有异常,如下所述:
我正在广泛使用 CDI 注入,并且不想调用基于某些数据库查找的电子邮件发送和错误记录方法。一切都是在 CDI Bean 中实现的,我无法在异常处理程序中调用它们。您知道有什么方法可以打电话给他们吗?或者有什么解决方法吗?
Deltaspike 提供的东西可以帮助您实现这一目标:
您需要在 CustomExceptionHandlerFactory 中注入 o CustomExceptionHandler。只有这样 CustomExceptionHandler 中的注入才会起作用
解决方案是将bean注入到
ExceptionHandlerFactory
中,并通过手动调用setter或向其中添加另一个构造函数参数将它们传递给ExceptionHandlerWrapper
。使用 JEE 7 在 Websphere 9.0 上进行测试。