将无状态会话 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的第一个方法之前注入依赖。
我有一个像这样工作的异常拦截器:
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的第一个方法之前注入依赖。