首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >EJB全局异常处理程序

EJB全局异常处理程序
EN

Stack Overflow用户
提问于 2014-08-31 20:12:27
回答 1查看 1K关注 0票数 0

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

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

EJB还有其他的想法吗??

EN

回答 1

Stack Overflow用户

发布于 2014-08-31 20:41:40

afaik没有全局处理异常的interceptor,但你有没有考虑过使用API来解决这个问题?

拦截器类:

代码语言:javascript
复制
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中的默认拦截器映射:

代码语言:javascript
复制
<?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>
票数 2
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/25591856

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档