Webapplication - statische Listen in Memory halten - best practise?

y0dA

Erfahrenes Mitglied
Hallo,

im Detail muss ich zum Start der Applikation bestimmte Webservices aufrufen welche mir statische Werte für diverse Dropdowns in der Applikation liefern. Selbige sollen natürlich nur einmal geladen werden und eindeutig innerhalb der Applikation sein.

Wie Stelle ich das am Besten an? Einfach eine Spring Bean definieren und im Konstruktor dann das Webservice aufrufen und die div. statischen Member befüllen?

Oder sollte ich hier eher in Richtung Singleton (syncronized, mutex,..) denken?

Gibt es hierfür ein Best Practise oder Pattern?
 

Bratkartoffel

gebratene Kartoffel
Premium-User
Hi,

würde das mit einer Application-Scoped Bean lösen, die Listen darin dann als final members.
Das Füllen der Listen würde ich dann im Konstruktur der Bean durchführen.

Grüße,
BK
 

y0dA

Erfahrenes Mitglied
Spring kennt aber keinen "Application" Scope :)

Mögliche:
1) Singleton (default scope)
2) prototype
3) request
4) session
5) global-session
 

gorefest

Erfahrenes Mitglied
Hi,

Singleton ist in Deinem Fall wie Application Scoped - die Singleton-Instanz wird in der gesamten Anwendug wiederverwendet.

Du musst nur evtl. konkurrierende Schreibzugriffe darauf serialisieren.

Grüße,
gore