将无状态会话Bean注入异常拦截器?

时间:2015-05-08 18:40:58

标签: java glassfish ejb interceptor

我有一个像这样工作的异常拦截器:

public class ExceptionInterceptor
{
    @AroundInvoke
    public Object exceptionHandler(InvocationContext ctx) throws Exception
    {
        try {
            return ctx.proceed();
        } catch (RuntimeException re) {
            // Log Exception Here

            throw re;
        }
    }
}

有没有办法注入LogManagerBean,所以我可以这样做:

public class ExceptionInterceptor
{
    @EJB
    LogManagerBean logManager;

    @AroundInvoke
    public Object exceptionHandler(InvocationContext ctx) throws Exception
    {
        try {
            return ctx.proceed();
        } catch (RuntimeException re) {
            // Log Exception Here
            logManager.error(re);

            throw re;
        }
    }
}

LogManagerBean标记为@Stateless@LocalBean

1 个答案:

答案 0 :(得分:0)

我认为这是可能的。与其他拦截器的情况一样。拦截器是在创建EJB实例的同时创建的,并且在调用EJB的第一个方法之前注入依赖项。