Creación de paquetes de recursos de registros cronológicos y archivos de mensajes

Se pueden enviar mensajes escritos en registros cronológicos internos de WebSphere Application Server a otro proceso para su visualización. Los mensajes que aparecen en la consola administrativa, que puede ejecutar en una ubicación distinta a la del proceso del servidor, se pueden localizar utilizando el proceso de enlace a posteriori. Enlace a posteriori significa que WebSphere Application Server no localiza los mensajes cuando se registran, sino que aplaza la localización al proceso que muestra el mensaje.

Acerca de esta tarea

Todo método que acepta mensajes localiza dichos mensajes. El mecanismo de suministro de mensajes localizados es el soporte de paquete de recursos que proporciona IBM® Developer Kit, Java™ Technology Edition. Si no está familiarizado con los paquetes de recursos que implementa el Developer Kit, puede obtener más información de diferentes textos o consultando la documentación del API de las clases java.util.ResourceBundle, java.util.ListResourceBundle y java.util.PropertyResourceBundle, así como de la clase java.text.MessageFormat.

La clase PropertyResourceBundle es el mecanismo preferible.

Para localizar correctamente un mensaje, el proceso de visualización debe tener acceso al paquete de recursos donde esté almacenado el texto del mensaje. Hay que empaquetar el paquete de recursos aparte de la aplicación e instalarlo en una ubicación donde el proceso de visualización pueda acceder a él.

De forma predeterminada, el entorno de ejecución de WebSphere Application Server localiza todos los mensajes cuando se registran. Esta localización elimina la necesidad de pasar un archivo .jar a la aplicación, a menos que se necesite localizar en una ubicación diferente. No obstante, se puede utilizar la técnica de enlace anticipado para localizar mensajes según se anotan. Una aplicación que utiliza enlace anticipado tiene que localizar el mensaje antes de anotarlo. La aplicación busca el texto localizado en el paquete de recursos y da formato al mensaje. La técnica de enlace anticipado se usa para empaquetar los paquetes de recursos de aplicación con la aplicación.

Para crear un paquete de recursos, siga los pasos siguientes.

Procedimiento

  1. Cree un paquete de propiedades de texto que liste las claves de los mensajes y sus correspondientes mensajes. El archivo de propiedades debe tener las características siguientes:
    • Cada propiedad del archivo termina con un carácter de finalización de línea.
    • Si una línea solo contiene espacios en blanco, o si el primer carácter de espacio de la línea (que no sea un blanco) es el símbolo de almohadilla (#) o el signo de admiración (!), se hace caso omiso de dicha línea. Los caracteres # y ! pueden usarse, por tanto, para añadir comentarios al archivo.
    • Cada línea del archivo, a menos que sea un comentario o esté formada solo por espacios en blanco, denota una única propiedad. Una barra inclinada invertida (\) se trata como carácter de continuación de línea.
    • La sintaxis de un archivo de propiedades consta de una clave, un separador y un elemento. Los separadores válidos son el signo de igual (=), dos puntos (:) y el espacio en blanco ( ).
    • La clave consta de todos los caracteres de la línea, desde el primer carácter que no sea un espacio en blanco hasta el primer separador. Los caracteres separadores se pueden escapar con una barra inclinada invertida (\), pero este proceso no es recomendable, ya que el escape de caracteres tiende a crear errores y confusión. En su lugar, utilice un carácter separador válido que no aparezca en ninguna clave del archivo de propiedades.
    • El espacio en blanco que aparece a continuación de la clave y el separador se ignoran hasta que se aparece el primer carácter de espacio que no esté en blanco. El resto de caracteres situados antes del carácter de fin de línea definen el elemento.

    Consulte la documentación Java relativa a la clase java.util.Properties para obtener una descripción completa de la sintaxis y la construcción de archivos de propiedades.

  2. Traduzca el archivo a las versiones localizadas del archivo con los nombres de archivo específicos de cada idioma. Por ejemplo, un archivo llamado DefaultMessages.properties se traduce como DefaultMessages_de.properties para el alemán y DefaultMessages_ja.properties para el japonés.
  3. Cuando estén disponibles los paquetes de recursos traducidos, coloque el paquete en un directorio que forme parte de la ruta de clases de la aplicación (classpath).
  4. Cuando se obtiene un registrador de mensajes del gestor de registros, configúrelo para que use un paquete de recursos determinado. Los mensajes anotados mediante el API de Logger utilizarán este paquete de recursos cuando localicen los mensajes. En tiempo de ejecución, el valor de la configuración regional del usuario determina el archivo de propiedades del cual se puede extraer el mensaje especificado por una clave de mensaje, asegurando así que el mensaje se muestre en el idioma correcto.
  5. Si se invoca el método msg del registrador de mensajes, se debe proporcionar explícitamente un nombre de paquete de recursos.

Ejemplo

Un paquete de recursos se puede crear de varias maneras. La forma mejor y más rápida consiste en crear un archivo de propiedades que soporte un paquete de recursos de propiedades. Este ejemplo muestra cómo crear dicho archivo de propiedades.

En este ejemplo, se proporcionan cuatro mensajes traducibles. El archivo de propiedades se crea y se insertan los pares clave-valor. A este archivo se le aplican todos los convenios y reglas habituales que afectan a los archivos de propiedades. Asimismo, el creador debe conocer las restricciones que la clase Java MessageFormat impone a los valores. Por ejemplo, hay que escapar los apóstrofos para que no den problemas. Evite utilizar caracteres que no se puedan portar. WebSphere Application Server no soporta el uso de los convenios de formato ampliados que soporta la clase MessageFormat como, por ejemplo, {1, fecha} o {0,número, entero}.

Suponga que el directorio base de la aplicación que utiliza este paquete de recursos es baseDir y que este directorio estará en la ruta de clases. Suponga que el archivo de propiedades está almacenado en un subdirectorio de baseDir que no está en la ruta de clases (por ejemplo, baseDir/subDir1/subDir2/resources). Para que se pueda resolver el archivo de mensajes, se utiliza el nombre subDir1.subDir2.resources.DefaultMessage para identificar el paquete de recursos de propiedades y pasarlo al registrador de mensajes.

En este ejemplo, el archivo de propiedades tendrá el nombre DefaultMessages.properties.

# Contenido del archivo DefaultMessages.properties
MSG_KEY_00=Mensaje sin parámetros de sustitución.
MSG_KEY_01=Mensaje con un parámetro de sustitución: parm1={0}
MSG_KEY_02=Mensaje con dos parámetros de sustitución: parm1={0}, parm2 = {1}
MSG_KEY_03=Mensaje con tres parámetros de sustitución: parm1={0}, parm2 = {1},
parm3={2}

Una vez creado el archivo DefaultMessages.properties, se puede enviar el archivo a un centro de traducción donde se generarán las versiones localizadas.

Qué hacer a continuación

La aplicación localiza el paquete de recursos basándose en la ubicación del archivo relativa a un directorio de la ruta de clases. Por ejemplo, si el paquete de recursos de propiedades DefaultMessages.properties se encuentra en el directorio baseDir/subDir1/subDir2/resources y baseDir está en la ruta de clases, se pasará el nombre subdir1.subdir2.resources.DefaultMessage al registrador de mensajes para identificar el paquete de recursos.

Icon that indicates the type of topic Task topic



Timestamp icon Last updated: last_date
http://www14.software.ibm.com/webapp/wsbroker/redirect?version=cord&product=was-nd-mp&topic=ttrb_logresourcebun
File name: ttrb_logresourcebun.html