@EJB
ジャージーを介して、またはジャージーに何かを注入できないようです@Inject
。FilterFactory で @EJB/@Inject を使用すると、フィールドは null のままですが、他の Bean への注入は正常に機能します。
FIlterFacoryに@Context を使用して正常に注入できます。
ここで何が欠けていますか?
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;
}
}