gpt4 book ai didi

java - EJB 全局异常处理程序

转载 作者:行者123 更新时间:2023-12-02 05:30:31 24 4
gpt4 key购买 nike

我需要向我的项目添加全局异常处理程序,以捕获 EGB 容器中所有未捕获的异常。

我已经阅读了有关使用新线程来捕获未捕获的异常的方法,但这对我没有帮助。

对于 EJB 还有其他想法吗?

最佳答案

据我所知,没有用于全局处理异常的 API,但是您是否考虑过使用 interceptor为此?

拦截器类:

package test;

import javax.interceptor.AroundInvoke;
import javax.interceptor.InvocationContext;


public class Interceptor {

@AroundInvoke
public Object exceptionHandler(InvocationContext ctx) throws Exception {
try {
return ctx.proceed();
} catch (RuntimeException re) {
// Do something with the exception
throw re;
}
}
}

ejb-jar.xml 中的默认拦截器映射:

<?xml version="1.0" encoding="UTF-8"?>
<ejb-jar xmlns="http://java.sun.com/xml/ns/javaee" version="3.0"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://java.sun.com/xml/ns/javaee http://java.sun.com/xml/ns/javaee/ejb-jar_3_0.xsd">
<interceptors>
<interceptor>
<interceptor-class>test.Interceptor</interceptor-class>
</interceptor>
</interceptors>
<assembly-descriptor>
<interceptor-binding>
<ejb-name>*</ejb-name>
<interceptor-class>test.Interceptor</interceptor-class>
</interceptor-binding>
</assembly-descriptor>
</ejb-jar>

关于java - EJB 全局异常处理程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25591856/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com