【问题标题】:@Context does not inject the required object in EJB?@Context 没有在 EJB 中注入所需的对象?
【发布时间】:2013-11-19 11:40:49
【问题描述】:

我正在尝试实现一个简单的拦截器,用于拦截对 EJB 服务类的调用。但是我想像这样注入 HttpServletReques:

public class Interceptor {

    @Context
    private HttpServletRequest servletRequest;


    @AroundInvoke
    public Object intercept(InvocationContext context) { 
    // ... 
  } 
}

但是 servletRequest 总是 null 吗?有什么想法或帮助吗?

【问题讨论】:

    标签: java ejb ejb-3.0 ejb-3.1


    【解决方案1】:

    我不认为这是可能的,因为 EJB 不知道正在发出任何 HTTP 请求,因此将其注入 EJB(或它的拦截器)是没有意义的。

    【讨论】:

    • 看看这个帖子mastertheboss.com/resteasy/resteasy-interceptors-tutorial/…你是对的,那么我如何记录与我的EJB相匹配的http请求信息?
    • 但是RESTeasy不是en EJB,看Context的包javax.ws.rs.core.Context
    • 您必须通过方法参数将其传递给您的 EJB,我不确定是否有其他方法可以做到这一点
    猜你喜欢
    • 2012-10-01
    • 1970-01-01
    • 2014-09-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2015-01-17
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多