Bonjour ,
actuellement je garde les données réutilisables par tous les utilisateurs d'une application en un application scoped bean ( nommé dataApplicationScoped ) .
ces données la ( comme liste des villes ) sont mis a jour de temps en temps j'ai implémenté la mise a jour comme ceci ( le bean application scoped est appelé dans un managed bean ou j' ajout les villes ):
après chaque ajout d'une ville par exemple j’exécute le code suivant
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6 DataApplicationScoped dataApplicationScoped; dataApplicationScoped =(DataApplicationScoped)FacesContext.getCurrentInstance().getApplication().getELResolver().getValue(FacesContext.getCurrentInstance().getELContext(), null, "dataApplicationScoped"); dataApplicationScoped.refrechCity();
dans le code du bean application on trouvera
le code marche, les données partagées sur toute l'application sont mis a jour mais ...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25 ... @ManagedBean(eager=true) @ApplicationScoped public class DataApplicationScoped { @EJB private CityFacade cityFacade; private List<City> listcity = new ArrayList<City>(); public DataApplicationScoped() { } @PostConstruct public void initialize(){ listcity = cityFacade.findallcities(); } public void refrechCity(){ listcity = cityFacadeFacade.findallcities(); } . . .
es la bonne manière de faire ?
comment faite vous pour mettre a jour des données en application scoped ?
Cordialement
Partager