Cómo @Inyectar en un PhaseListener
He añadido unPhaseListener
afaces-config.xml
:
<lifecycle>
<phase-listener>com.project.NotificationListener</phase-listener>
</lifecycle>
La clase parece ser correcta de lo contrario ya que es bastante simple.
public class NotificationListener implements PhaseListener {
@Inject
private MyCDIStuff stuff;
@Override
public PhaseId getPhaseId() {
return PhaseId.RENDER_RESPONSE;
}
@Override
public void beforePhase(PhaseEvent event) {
this.stuff.doStuff();
}
}
El método 'beforePhase' se llama correctamente, sin embargo, el objeto MyCDIStuff es nulo. Traté de usar la anotación@Singleton
para la clase que probablemente era incorrecta, y tampoco hizo que la inyección funcionara.
¿Hay alguna forma de inyectar los frijoles CDIPhaseListener
?