Wo und wie Daten die für alle Benutzer bestimmt sind verwalten

Fant

Bekanntes Mitglied
Hallo zusammen!

Folgendes minimalisiertes Szenario:
Ich habe in meiner Webapplikation etwa ein DropDown-Menü. Die Liste der Auswahlmöglichkeiten würde ich gerne so gestalten, dass sie im laufenden Betrieb verändert werden kann. Für alle Benutzer sollen aber die selben Auswahlmöglichkeiten existieren.

Ich kann sie also natürlich nicht hartcodiert im Quellcode hinterlegen. Auch würde ich gerne darauf verzichten die Daten in irgendwelchen extra Textfiles zu speichern..

Was ist nun der saubere Weg, um diese Auswahlliste dem Benutzer zur Verfügung zu stellen? Pack ich die Liste in eine BackingBean im ApplicationScope? Oder hole ich mir die Auswahloptionen für jede View-Anfrage neu aus einer Datenbank? Oder macht man besser etwas ganz anderes?

Gruß und Danke
Fant
 
N

nillehammer

Gast
Pack ich die Liste in eine BackingBean im ApplicationScope?
Kann man machen, allerdings würde dann das Hinzufügen/Wegnehmen von Auswahlmöglichkeiten bedeuten, dass Du die Applikation durchstarten musst. Kommt also nur in Frage, wenn sich die Auswahlmöglichkeiten nur sehr selten ändern. Die Auswahl eines Bezahlweges (Kreditkarte, Überweisung, Lastschrift) wäre bspw. ein fachliches Szenario, für das dieser Weg passen könnte.
Oder hole ich mir die Auswahloptionen für jede View-Anfrage neu aus einer Datenbank?
Das wäre der Weg, den ich erstmal immer gehen würde. Damit umgehst Du in jedem Fall den nötigen Neustart der Applikation. Evtl. um den Preis, dass Du bei sich selten ändernden Auswahlmöglichkeiten immer die selben Results von der Datenbank bekommst und deswegen eigentlich unnötige Abfragen an die DB sendest. Bei relativ kleinen Auswahllisten sollte das Performancemäßig nicht so ins Gewicht fallen. Nur, wenn Du wirklich sicher bist, dass hier ein Bottleneck entsteht, falle auf die erste Variante zurück.
 

Fant

Bekanntes Mitglied
Die Datenmenge fällt nicht wirklich ins Gewicht. In meinem Fall sind es etwa 10 verschiedene Zusammenstellungen aus etwa 20 Einträgen. Der Zugriff auf die Datenbank erfolgt ohnehin über einen EntityManager, der ja auch noch die Daten cached, so dass die tatsächlichen Datenbankzugriffe ja eigentlich in einem recht überschaubaren Rahmen bleiben sollten?

Wieso aber macht eine Änderung einer Bean im ApplicationScope einen Neustart der Application erforderlich? Das ist mir nicht wirklich klar..
 
N

nillehammer

Gast
Wieso aber macht eine Änderung einer Bean im ApplicationScope einen Neustart der Application erforderlich? Das ist mir nicht wirklich klar..
Hatte Deine Frage so verstanden, dass Du die Listen einmal initialisieren und in den ApplicationScope packen wolltest. Und da wäre der Initialisierungszeitpunkt eben der Start der Anwendung gewesen. Alles andere wäre in diesem Zusammenhang auch unüblich bis fehlerhaft gewesen.
 

Fant

Bekanntes Mitglied
Du hast schon recht damit, dass ich die Listen beim Start der Anwendung initialisieren und dann in den ApplicationScope packen würde. Anschließend aber würde ich diese Liste über normaler getter/setter pflegen, da ich die App eben nicht neu starten möchte.
Aktualisiert ein Benutzer dann seine View, dann bekommt er sofort die neuen Listen angezeigt. Jedenfalls dachte ich mir das so ;) Früher passiert das bei der anderen Variante ja auch nicht.

Das einzige Problem, was mir einfällt, wäre der Fall, dass ein Benutzer genau zu dem Zeitpunkt über eine der Listen iteriert, während diese an anderer Stelle geändert wird.
Wenn ich aber davon ausgehen darf, dass es aus verschiedensten Gründen nicht zu solch einem Fall kommen kann, gäbe es dann trotzdem noch Gründe, die gegen dieses Vorgehen sprechen würden?
Oder aus welchen Gründen stufst du das als fehlerhaft ein?
 
Ähnliche Java Themen
  Titel Forum Antworten Datum
I Daten einer Datenbank in ein Formular einfügen Web Tier 3
S Daten von Client empfangen Web Tier 1
J Servlet Einschätzung anderer zu Daten-Repositories Web Tier 3
N JSF CommandButton Daten aus anderem Form auslesen Web Tier 3
C JSF JSF Daten aus Klasse werden nicht angezeigt Web Tier 4
X SQL Datenbank-Daten in ApplicationScoped ManageBean zwischenspeichern? Web Tier 4
P JSF Primefaces Picklist-Ersatz mit vielen Daten Web Tier 4
H JSF Daten aus ManagedBean können vom Controller gelesen werden Web Tier 6
P SelectOneMenu liest Daten nicht ein Web Tier 7
X JSP Auslesen der Daten einer Session Web Tier 3
R Daten Streamen mit Servlets. Web Tier 4
I JSF Daten aus Formular werden nicht übernommen Web Tier 6
T Post Daten Abfangen Web Tier 59
1 JSP Mit Daten einer c:forEach Rechnen ? Web Tier 4
T Daten - DB-Abfrage - Tabelle Web Tier 5
H Daten von Webseiten bekommen Web Tier 6
T Einfach nur Daten im JSP ausgeben Web Tier 2
S Daten zwischen 2 Servlets aus 2 Webapplikationen teilen? Web Tier 17
R Wo Daten manipulieren? Client oder Server? Web Tier 3
N Tabelle dynamisch mit Daten aus Datenbank füllen Web Tier 3
sliwalker forEach und Scriptlet: Daten aus Scriptlet in jstl sehen Web Tier 2
S [SelectItems value(herkunft bean)] in [UI:repeat] lädt daten nicht neu nach Web Tier 3
P Formular-Daten-Überprüfung - Eingaben im Fehlerfall behalten Web Tier 2
T Daten aus der Form holen Web Tier 2
U JSP form-Daten (ohne name-Attribut) an Servlet = Problem Web Tier 6
G Daten von ablaufenden Sessions speichern? Web Tier 3
A JSF Suche Beispiel für Primefaces Tree als Navigation Web Tier 3
S Seite nur aufrufbar machen für eingeloggte User Web Tier 1
R JavaScript für Java Enterprise Entwickler Web Tier 1
G JSF Webanwendung Editor für JSON gesucht Web Tier 1
S JSP Hm... Vorlage für Java Basierende Webseite? Web Tier 0
J Funktion für AJAX - Problem mit Return Web Tier 14
D Servlet 1 Servlet für alles - Wie Cookies per Ajax? Web Tier 1
R JSF Zugriff für Helpdesk-Mitarbeiter Web Tier 15
I Autocomplete Google Maps für JSF Web Tier 0
W Servlet SPEICHERN UNTER-Dialog für mehrere Dateien Web Tier 4
M JSF Framework für User Management etc. Web Tier 0
D Welches Webframework für REST geeignet Web Tier 1
L java.io.NotSerializableException für domain Objekte - Design Problem? Web Tier 12
M Converter für SelectOneMenu Web Tier 3
J eigene taglib für jsf 2.0 schreiben Web Tier 21
S Empfehlung für stateless Webframework Web Tier 2
J mögliche 'eigene' Konfigurationen für die Web.XML auflisten lassen Web Tier 4
H Singleton für In-Memory-Caching in WebApp Web Tier 4
S beste Preis/Leistung für Server Web Tier 3
H Relativer Pfad für XML-Datei in JSP-Anwendung Web Tier 3
S Welcher ansatz für Web Application + Web Service Web Tier 5
M JSF Converter für String to List<String> Web Tier 2
R Servlet Resource laden für SMTP - Session Web Tier 4
T JSF Eigener Converter wird nur für Eingabekomponenten aufgerufen? Web Tier 3
O Welche JSF Implementation ist am besten für mich geeignet ? Web Tier 3
T Sprachenauswahl für Projekt Web Tier 3
M JSF Komponentenframework für Web/JSF? Web Tier 7
M JSF Simple Testklasse für Button - MethodNotFoundException? Web Tier 6
B JSF JSF1.1 @Tomcat 5.5 für ein neues Projekt Web Tier 18
I Anwendungsfälle für OO Vererbungshierarchien bei Webapps Web Tier 4
D Struts Mehrsprachigkeit in textfield für key ja, aber für label nein? Web Tier 4
M Classpath für JPA in Tomcat Webapp: Wie konfigurieren? Web Tier 4
S ClassPath für Servlet Web Tier 3
J Welches Framework für Webentwicklung? Web Tier 13
T Plugins für Eclipse Web Tier 9
T JSF Zwei Listen/Vectoren für f:selectItems verknüpfen - möglich? Web Tier 2
ruutaiokwu JSF nur für die präsentation verwenden? Web Tier 4
S Ein ControllerServlet für andere Servlets - Sinnvoll oder nicht? Web Tier 34
C Webspace bzw. Server für GWT Web Tier 5
O Testframework für Webanwendung? HTMLUnit? Web Tier 3
C CMS für GWT Anwendung Web Tier 2
T SVG für JSF2 Web Tier 8
Java.getSkill() Lerngruppe für Tapestry 5 Web Tier 21
T Template für die ganze Seite Web Tier 6
Spin JSF oder PHP für Web Web Tier 4
M Java Framework für größere Projekte verwenden Web Tier 5
Z Erlaubte Klassen für h:selectOneListbox Iteration? Web Tier 2
R Exception? Was für ein Fehler? Web Tier 3
J DataScroller: rowCount für Folgeseiten übernehmen Web Tier 2
M Tomcat - Mehrere Verzeichnisse für die jsp Web Tier 12
N JMX MBean für JBoss 4.2.2 Web Tier 4
E Mime-Type für unbekanntes Programm Web Tier 6
M Best Practice für "Teilnahmebediengung akzeptieren" Web Tier 2
M JSP Custom Tag für Bilder Web Tier 14
H Gibt es für das message-bundle eine Standard - Ordnung? Web Tier 2
J Welcher WebServer(-anbieter) für Servlets? Web Tier 5
N Webfrontend für vorhandenes Programm Web Tier 2
A Einfaches Filter-Servlet für Benutzer-Validierung Web Tier 3
R <fmt:formatDate> und 2 Zeichen für den Wochentag? Web Tier 2
T Ajax / Javascript Plugin für Eclipse Web Tier 1
T Was nehmen für eine Datenbankapplikation mit Webinterface Web Tier 5
G wert für hiddenfield per javascript setzten Web Tier 4
K Escape Charakter für EL Web Tier 4
leifg Parameter für Tags aus String lesen (JSP 1.2) Web Tier 2
N JSF: Servlet für Bilder: Verbindung zu Spring Service ? Web Tier 1
S Mehrere Styleklassen für Tabellenreihen Web Tier 4
R Servlet Alle Parameter ausgeben Web Tier 14
Rudolf Glassfish stoppen beim Start ALLE Applikationen zu deployen Web Tier 3
J Nach SVN-Update alle Beans resolved to null Web Tier 3
ruutaiokwu Locale-abstraktion, welche ALLE sprachen unterstützt? Web Tier 3
D Servlet alle 6h ausführen Web Tier 5
S Stehen alle Klassen der JRE zur Verfuegung..? Web Tier 14

Ähnliche Java Themen

Neue Themen


Oben