title: ApplicationScoped bean not injected in JSF 2.3 FacesConverter
body: <p>I have following FacesConverter:</p>
  
  <pre><code>@FacesConverter(forClass = Onderwerp.class, managed = true)
  public class OnderwerpConverter implements Converter&lt;Onderwerp&gt; {
  
  @Inject
  private Web web;
  
  @Override
  public Onderwerp getAsObject(FacesContext context, UIComponent component, String value) {
  
      log.trace("Converting to object from string: " + value);
  
      return web.getAllActiveOnderwerpen().stream().filter(o -&gt; o.getId().equals(Long.parseLong(value))).findFirst().get();
  }
  
  
  @Override
  public String getAsString(FacesContext context, UIComponent component, Onderwerp onderwerp) {
  
      log.trace("Converting to string from object: " + onderwerp);
  
      return onderwerp.getId().toString();
  }
  
  }
  </code></pre>
  
  <p>The referenced CDI bean is:</p>
  
  <pre><code>@Named
  @ApplicationScoped
  public class Web { ... }
  </code></pre>
  
  <p>Faces-config.xml is:</p>
  
  <pre><code>&lt;?xml version="1.0" encoding="UTF-8"?&gt;
  &lt;faces-config xmlns="http://xmlns.jcp.org/xml/ns/javaee" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
  xsi:schemaLocation="http://xmlns.jcp.org/xml/ns/javaee http://xmlns.jcp.org/xml/ns/javaee/web-facesconfig_2_3.xsd" version="2.3"&gt;
  </code></pre>
  
  <p>Now whatever kind of bean I inject via @Inject it is always null. It seems the injection feature in 2.3 is not working (yet), or I am missing something :)</p>
  
  <p>I'm using Mojarra 2.3.0 on EAP 7.0. Also tested without success using 2.3.3 on EAP 7.0 and 7.1.</p>
  
  <p>My current workaround is replacing the code where I need the injected CDI bean like this:</p>
  
  <pre><code>return CDI.current().select(Web.class).get().getAllActiveOnderwerpen().stream().filter(o -&gt; o.getId().equals(Long.parseLong(value))).findFirst().get();
  </code></pre>
  
  <p>This works fine, but is kinda ugly of course :)</p>
  
  <p>Anyone has experienced this behavior?</p>