首页 > 解决方案 > 在 ClientResponseFilter Jersey 中注入 EJB

问题描述

我尝试使用球衣将 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,因为它在很多其他地方都使用过,我不确定我是否能捕捉到它的变化可能产生的所有副作用。

谢谢!

标签: javadependency-injectionjerseyejb

解决方案


推荐阅读