作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
我似乎无法通过 @EJB
或 @Inject
将任何内容注入(inject) Jersey。当我在 FilterFactory 中使用 @EJB/@Inject 时,该字段保持为空,但注入(inject)其他 bean 效果很好。
我可以使用FIlterFacory的@Context成功注入(inject)。
我在这里缺少什么?
public class FilterFactory implements ResourceFilterFactory{
@EJB
private MyFilter myFilter ;
@Override
public List<ResourceFilter> create(AbstractMethod am) {
List<ResourceFilter> filters = new ArrayList<ResourceFilter>();
filters.add(myFilter);
return filters;
}
我的 web.xml 的一部分:
<init-param>
<param-name>com.sun.jersey.spi.container.ResourceFilters</param-name>
<param-value>com.jea.openxchange.rest.filter.FilterFactory</param-value>
</init-param>
我的过滤器
@Stateless
public class MyFilter implements ResourceFilter,ContainerResponseFilter {
@Override
public ContainerResponse filter(ContainerRequest request, ContainerResponse response) {
//todo
return response;
}
@Override
public ContainerRequestFilter getRequestFilter() {
return null;
}
@Override
public ContainerResponseFilter getResponseFilter() {
return this;
}
}
最佳答案
这可能是 Jersey 如何创建 FilterFactory 实例的问题。如果它不是由容器创建的,CDI 将无法工作,@EJB
也将无法工作。根据 Java EE6 CDI 规范,由 new 或反射创建的对象不受管理,因此不会发生注入(inject)。新的 CDI 规范将解决这个问题。
关于java - 如何将 EJB 注入(inject) ResourceFilterFactory ( Jersey ),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13584168/
我想使用 Jersey 在我的 REST 服务中实现自定义授权。此自定义授权检查方法上的注释以及实际参数方法接收。 我的 jax-rs 注释方法如下所示: @GET @Path("customers"
我似乎无法通过 @EJB 或 @Inject 将任何内容注入(inject) Jersey。当我在 FilterFactory 中使用 @EJB/@Inject 时,该字段保持为空,但注入(injec
我是一名优秀的程序员,十分优秀!