sto usando Java EE 6 su JBoss EAP 6, e le mie fagioli JSF sono annotati in questo modo: @ManagedBean @ViewScoped (sia dal pacchetto javax.faces.bean)Viewscoped JSF e CDI fagioli
Tuttavia, sono anche fagioli CDI (costruttore predefinito, uso di @Inject @PreDestroy ecc.). Sto leggendo tutto il tempo che non è possibile mescolare queste annotazioni (JSF e CDI), ma apparentemente funziona bene: le iniezioni funzionano, preDestroy è chiamato in cambio di visualizzazione ecc.). Mi sto perdendo qualcosa? Qual è il problema? Perché non usare?
Grazie per la risposta. Sembra che io sia davvero confuso da tutte queste cose ... Quindi quello che ho è un bean gestito da JSF, piuttosto che un bean CDI? Anche se questo bean soddisfa tutti i requisiti, si parla di documentazione del bean CDI (costruttore predefinito, non inner class etc)? In tal caso, qual è la differenza rispetto a un bean CDI? quali sono gli svantaggi o cosa non posso fare con questo bean che posso fare con un bean CDI? – htft
Non è possibile '@ Inject' l'istanza del bean gestita JSF altrove. Se non ne hai davvero bisogno, allora non c'è davvero un inconveniente. Ma dovrebbe essere notato che JSF sta lentamente passando a CDI. Le nuove annotazioni JSF specifiche come '@ FlowScoped' sono solo CDI. La facility '@ ManagedBean' di JSF sarà deprecata in un prossimo futuro. Gli utenti sono incoraggiati a passare a CDI prima che accada. – BalusC