在ClientResponseFilter Jersey中注入EJB

时间:2019-01-15 17:58:16

标签: java dependency-injection jersey ejb

我尝试使用jersey将EJB注入ClientResponseFilter。但是,EJB始终为空。我在线阅读了一些资源,但是发现的所有解决方案都没有用(而且,我不想使用InitialContext来照顾我的bean)。这是我的过滤器

@Provider
public class MyResponseFilter implements ClientResponseFilter {

    private static final Logger LOGGER = LoggerFactory.getLogger(MyResponseFilter.class);

    @EJB
    private MyBean myBean;

    @Override
    public void filter(ClientRequestContext requestContext, ClientResponseContext responseContext) throws IOException {
        ...

       // using myBean always throws NullPointerException
       myBean.someMethod(); 
    } 

}

MyBean的代码:

@Startup
@Singleton
public class MyBean extends SomeAbstractClass {
...
}

我还尝试使用resources.add(MyResponseFilter.class);将提供程序添加为资源,但这也行不通。有人可以帮我解决这个问题吗?我想按原样使用MyBean,因为它在很多其他地方都用过,而且我不确定我能否抓住它的更改可能带来的所有副作用。

谢谢!

0 个答案:

没有答案