Ich bin mit Java EE 6 auf Jboss eap 6 und meine JSF Bohnen werden wie folgt kommentierte: @ManagedBean @ViewScoped (beide von javax.faces.bean Paket)Viewscoped JSF und CDI Bean
jedoch Sie sind auch CDI-Beans (Standardkonstruktor, Verwendung von @Inject @ PreDestroy usw.). Ich lese die ganze Zeit, dass Sie diese Anmerkungen (JSF und CDI) nicht mischen können, aber es funktioniert offensichtlich gut: Injektionen arbeiten, preDestroy wird auf Ansicht Änderung usw. genannt). Fehle ich etwas? Was ist das Problem? Warum nicht benutzen?
Vielen Dank für die Antwort. Scheint, ich bin wirklich verwirrt über all diese Dinge ... Also was ich habe ist eine JSF Managed Bean, anstatt eine CDI Bean? Auch wenn diese Bean alle Anforderungen erfüllt, sollte man sich über eine CDI-Bean-Dokumentation unterhalten (Standardkonstruktor, nicht innere Klasse usw.)? Wenn ja, was ist der Unterschied zu einer CDI-Bean? Was sind die Nachteile oder was kann ich nicht mit dieser Bohne machen, die ich mit einer CDI-Bohne machen kann? – htft
Sie können die JSF-Instanz für verwaltete Bean nicht an anderer Stelle "injizieren". Wenn Sie es nicht wirklich brauchen, dann gibt es keinen wirklichen Nachteil. Es sollte jedoch angemerkt werden, dass JSF sich langsam zu CDI bewegt. Bevorstehende neue JSF-spezifische Annotationen wie '@ FlowScoped' sind CDI-only. Die JSF '@ ManagedBean'-Einrichtung wird in naher Zukunft eingestellt. Benutzer werden ermutigt, zu CDI zu wechseln, bevor es passiert. – BalusC