# SQL Datenbank-Daten in ApplicationScoped ManageBean zwischenspeichern?



## xumbu (14. Feb 2014)

Servus... ich hab mir überlegt mittelgroße Datenmengen, wie bsp Produktlisten in einer ApplicationScoped ManagedBean zwischenzuspeichern und erst wieder aus der Datenbank zu lesen, wenn an dieser Datenmenge eine änderung vorgenommen wurde.

Macht das Sinn?   
Bei na art Stress-Test hat mein Server Probleme gemacht - wenn ich bspw massenhaft HTTP-Request an die Produktlisten-Page geschickt habe (die jedes mal alle Produkte aus der DB liest) kam es relativ schnell zu kleinen Ausfällen...

Wenn ich die Daten vorher in die ApplicationScoped geladen habe, schien das ganze viel weniger Server-Resourcen zu fressen. :idea:



Mich würd ma interessieren was die Experten dazu sagen :bahnhof:


----------



## xumbu (14. Feb 2014)

noch ne kleine andre Frage:

Ist es ok bspw. hochgeladene Bilder, die nach der Session nicht mehr gebraucht werden, in eine SessionScoped Bean zu laden?  (zum Beispiel für eine Web Bilderbearbeitungssoftware o.ä)

Ich weiß nicht so genau wie das funktioniert... Aber meine Vermutung ist, dass so die Gefahr besteht, dass der Arbeitsspeicher des Servers darunter leiden könnte.

Oder wie wird das im Hintergrund alles gehandlet?





sry für den doppelpost, war so nicht geplant:autsch:


----------



## tandraschko (21. Feb 2014)

1) Klar kann man das machen - Wobei ich sowas nur mache bei eig. statischen Daten die in der Datenbank sind
2) Wenn du SessionReplication brauchst, würd ich sowas bleiben lassen


----------



## xumbu (23. Feb 2014)

Okey. 
Aber ich frage mich immernoch wie das nun mit dem Arbeitsspeicher des Servers aussieht.
Konkret bei diesen zwei Szenarien:

1. Den UserUpload (ich benutze den uploader von Primefaces), der nach der Session wieder verfällt, wird nur in der SessionScoped ManagedBean verwaltet

Wo wird dieser gespeichert? Im Arbeitsspeicher der Servers oder wird im Hintergrund schon automatisch ein temporärer Ordner auf der Festplatte erstellt?

2. Bilder, die ich in der Datenbank als byte-array hinterlegt habe lade ich mit Hibernate+Entityklasse in eine ManagedBean

liegt das Bild nun im Arbeitsspeicher? oder hat die Entitiyclass lediglich eine Referenz auf den entsprechenden Festplattenort?


----------



## tandraschko (23. Feb 2014)

Beides im Speicher.


----------

