Frage

Ich bin mit einem Resource und Locale Eigenschaftswerte nachzuschlagen. Ganz einfach, sieht der Code wie folgt aus:

  public static String getPropertyValue(Locale locale, String resourceName, String key) {
    ResourceBundle resource = ResourceBundle.getBundle(resourceName, locale);
    return resource.getString(key);
  }

Meine Frage ist über die Leistung. Würde ein Caching-Ansatz schneller sein oder eine bessere Umsetzung als auf dem Classpath Eigenschaftsdateien zugreifen? Mein Verständnis ist, dass Resource Leistung im Allgemeinen sehr gut.

, um die Eigenschaften-Datei (in diesem Fall) sind weniger als 30 Zeilen (d.h. ~ 30 Schlüssel / Wert-Paare).

Ich frage die Leistung, da wir einen ähnlichen Ansatz auf Hochlast-Seiten und der Lookup-on-Demand-Ansatz kostspielig erweisen könnte nutzen könnten.

War es hilfreich?

Lösung

Nach dem Javadocs :

  

Ressourcenbündel Instanzen durch die getBundle Factory-Methoden erstellt werden standardmäßig zwischengespeichert und die Factory-Methoden der gleichen Ressourcenbündel Instanz mehrfach zurück, wenn es zwischengespeichert wurde.

Sie müssen also nicht Caching auf eigene Faust zu tun. Aber wenn Sie eine feinere Kontrolle über das Caching-Verhalten benötigen, können Sie die getBundle(String, ResourceBundle.Control) Überlastung und übergeben Sie eine maßgeschneiderte Control .

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top