Ich benutze Mojarra 2.2.12 und in unserem Projekt haben wir ein paar @ApplicationScoped
Bohnen. Zum Beispiel:Nebenläufigkeit von @ApplicationScoped JSF verwaltet Bohnen
@ManagedBean
@ApplicationScoped
public class AppScopedBean{
private int commonValueForClients;
//GET, SET
public void evalNew(){
int newCommonVal;
//Evaluation of the new value, doesn't depend on the commonValueForClients
commonValueForClients = newCommonVal;
}
}
Meine Frage ist, sollten wir uns Sorgen über die Sichtbarkeit des neuen zugewiesenen Wertes machen?
Ich konnte nicht in the spec finden, dass JSF-Infrastruktur den Zugriff auf @ApplicationScoped
Bean Felder synchronisieren muss. Also, insbesondere für Mojarra 2.2.12, sollten wir das Feld als volatile
deklarieren oder den Zugriff explizit synchronisieren?
Aus meiner Sicht haben Sie einen falschen Bean-Bereich gewählt. Schwerwiegender Schmerz und Leiden werden die Folge sein, wenn der richtige Umfang einer bestimmten verwalteten Bohne nicht ausgewählt wird. – Tiny
@Tiny Vielleicht ist das Caching nicht genau für Managed Beans geeignet, denke ich. Es ist eher ein Service-Zweck. –