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

Inject a Stateless Session Bean into an Exception 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

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