@ManagedBean (name = "foo") no está disponible por su nombre en EL # {foo}

Estoy tratando de usar un bean de ámbito de aplicación en JSF2, pero por alguna razón siempre esnull en mi solicitud de frijol con alcance. Aquí está el código que estoy usando:

El bean de ámbito de aplicación:

@ManagedBean(eager=true, name="applicationTracking")
@ApplicationScoped
public class ApplicationTracking implements Serializable {
    private static final long serialVersionUID = 4536466449079922778L;

    public ApplicationTracking() {
        System.out.println("ApplicationTracking constructed");
    }
}

El bean de ámbito de solicitud:

@ManagedBean
@RequestScoped
public class SearchResults implements Serializable {    
    private static final long serialVersionUID = 4331629908101406406L;

    @ManagedProperty("#{applicationTracking}")
    private ApplicationTracking appTracking;

    public ApplicationTracking getAppTracking() {
        return appTracking;
    }

    public void setAppTracking(ApplicationTracking appTrack) {
        this.appTracking = appTrack;
    }

    @PostConstruct
    public void init() {
        System.out.println("SearchResults.init CALLED, appTracking = " + appTracking);
    }
}

De acuerdo con todo lo que veo en los foros, esto debería funcionar sin ninguna otra configuración. Cuando inicio el servidor (Tomcat) veo elApplicationTracking constructor yinit métodos para ser llamado.

Pero en miSearchResults componente de la impresión en elPostConstruct siempre es nulo:

SearchResults.init CALLED, appTracking = null 

¿Qué me estoy perdiendo?

Respuestas a la pregunta(1)

Su respuesta a la pregunta