Jak @Inject w PhaseListener
DodałemPhaseListener
dofaces-config.xml
:
<lifecycle>
<phase-listener>com.project.NotificationListener</phase-listener>
</lifecycle>
Klasa wydaje się być poprawna, ponieważ jest dość prosta.
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();
}
}
Metoda „beforePhase” jest wywoływana poprawnie, jednak obiekt MyCDIStuff ma wartość NULL. Próbowałem użyć adnotacji@Singleton
dla klasy, która najprawdopodobniej była niepoprawna i nie sprawiała też efektu wtrysku.
Czy istnieje sposób na wstrzyknięcie zarządzanych komponentów CDI wPhaseListener
?