Pregunta

Estoy utilizando un ResourceBundle y Locale para buscar los valores de propiedad. En pocas palabras, el código es el siguiente:

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

Mi pregunta es sobre el rendimiento. Sería un enfoque de almacenamiento en caché de ser más rápido o una mejor aplicación de acceder a los archivos de propiedades en la ruta de clase? Mi opinión es que el rendimiento ResourceBundle es muy bueno en general.

El archivo de propiedades (en este caso) es menos de 30 líneas (es decir, ~ pares 30 de clave / valor).

pongo en duda la rentabilidad, desde podríamos utilizar un enfoque similar en las páginas de alta carga, y el enfoque de consulta a demanda podría resultar costoso.

¿Fue útil?

Solución

De acuerdo con la Javadocs :

  

casos paquete de recursos creados por los métodos de fábrica getBundle se almacenan en caché por defecto, y los métodos de fábrica devuelven el mismo recurso de instancia de paquete varias veces si se ha almacenado en caché.

Por lo que debe no tener que hacer el almacenamiento en caché por su cuenta. Pero si necesita un control más preciso del comportamiento de almacenamiento en caché, puede utilizar el sobrecarga getBundle(String, ResourceBundle.Control) y pasar un personalizado Control en.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top