Jeyvison Nascimento created CXF-7501: ----------------------------------------
Summary: Cannot inject field in ContainerRequestFilter Key: CXF-7501 URL: https://issues.apache.org/jira/browse/CXF-7501 Project: CXF Issue Type: Bug Components: JAX-RS Affects Versions: 3.1.10 Environment: Linux Mint 64 bit, TomEE Plus 7.0.3, JavaEE 7 application using MVC specification and reference implementation Reporter: Jeyvison Nascimento Priority: Critical Hey folks. We found a weird behavior while running MVC specification(JSR 371) on TomEE witch CXF. We have a *ContainerRequestFilter* defined called *JaxRsContextFilter* {code:java} @PreMatching @Priority(0) public class JaxRsContextFilter implements ContainerRequestFilter { @Inject private JaxRsContextProducer jaxRsContextProducer; @Context private Configuration configuration; @Context private HttpServletRequest request; @Context private HttpServletResponse response; public JaxRsContextFilter() { } public void filter(ContainerRequestContext requestContext) throws IOException { this.jaxRsContextProducer.populate(this.configuration, this.request, this.response); } } {code} You can see that we have a JaxRsContextProducer annotated to be injected as a field in our object but when JAXRSUtils is called to run the the container filters it injects the fields annotated as *@Context* , not the fields annotated with *@Inject*. {code:java} for (ProviderInfo<ContainerRequestFilter> filter : containerFilters) { try { InjectionUtils.injectContexts(filter.getProvider(), filter, m); filter.getProvider().filter(context); } catch (IOException ex) { throw ExceptionUtils.toInternalServerErrorException(ex, null); } {code} It causes our filter(*JaxRsContextFilter*) to throw a NullPointerException when filtering the request because it uses the producer to perform some actions in this operation. I believe this field should be injected as well, not only the *@Context* fields. -- This message was sent by Atlassian JIRA (v6.4.14#64029)