Tipos de suceso de rastreo y mensajes JRas

Los tipos básicos de mensaje y suceso JRas no son los mismos que los reconocidos de forma nativa por WebSphere Application Server, así que los tipos JRas se correlacionan con los tipos nativos al entorno de ejecución. Se puede controlar el modo en que los sucesos de rastreo y los mensajes JRas se procesan mediante controles de mensajes y filtros personalizados.

Tipos de sucesos

La infraestructura JRas descrita en esta tarea y sus subtareas han caído en desuso. No obstante, puede conseguir resultados parecidos utilizando el registro cronológico de Java™.

Los tipos de sucesos de mensajes y rastreo básicos definidos por el kit de herramientas de registro JRas autónomo no son los mismos que los tipos nativos reconocidos por el entorno de ejecución de WebSphere Application Server. Por ello, los tipos JRas básicos están correlacionados con los tipos nativos. Esta correlación puede variar según la plataforma o la edición. En la sección siguiente se trata la correlación.

Tipos de sucesos de mensaje de la plataforma

Los tipos de suceso de mensaje que el entorno de ejecución de WebSphere Application Server reconoce y procesa se definen en la interfaz RASIMessageEvent que proporciona el kit de herramientas de registro JRas autónomo.
Tabla 1. Tipos de sucesos de mensaje de la plataforma. Estos tipos de mensajes se correlacionan con los tipos de mensajes nativos del modo siguiente.
Tipo nativo de WebSphere Application Server Tipo RASIMessageEvent de JRas
Auditoría TYPE_INFO, TYPE_INFORMATION
Aviso TYPE_WARN, TYPE_WARNING
Error TYPE_ERR, TYPE_ERROR

[z/OS]Los desarrolladores de aplicaciones pueden utilizar JRas para emitir un mensaje WTO (escribir en operador) de MVS utilizando un tipo RASIMessageEvent de JRas de TYPE_INFO o TYPE_INFORMATION para emitir un rastreo de auditoría de WebSphere Application Server para z/OS. Un rastreo de auditoría de WebSphere Application Server para z/OS se correlaciona con un WTO de código de ruta 11 de MVS (WTO de copia impresa).

Tipos de sucesos de rastreo de plataforma

Los tipos de sucesos de rastreo que el entorno de ejecución de WebSphere Application Server reconoce y procesa se definen en la interfaz RASITraceEvent que se facilita en el kit de herramientas de registro cronológico autónomo JRas. La interfaz RASITraceEvent proporciona un conjunto de tipos rico y complejo. Esta interfaz define un conjunto de niveles sencillo y también un conjunto de tipos enumerados.
  • Para el usuario que prefiera un conjunto de niveles sencillo, RASITraceEvent proporciona TYPE_LEVEL1, TYPE_LEVEL2 y TYPE_LEVEL3. Las implementaciones soportan este conjunto de niveles. Los niveles son jerárquicos, si se habilita el nivel 2 también se habilitará el nivel 1, si se habilita el nivel 3 también se habilitarán los niveles 1 y 2.
  • En el caso de los usuarios que prefieran un conjunto de valores más complejo que se puedan unir en un OR, la interfaz RASITraceEvent proporciona TYPE_API, TYPE_CALLBACK, TYPE_ENTRY_EXIT, TYPE_ERROR_EXC, TYPE_MISC_DATA, TYPE_OBJ_CREATE, TYPE_OBJ_DELETE, TYPE_PRIVATE, TYPE_PUBLIC, TYPE_STATIC y TYPE_SVC.

Los tipos de sucesos de rastreo se correlacionan con los tipos de rastreo nativos siguientes:

Tabla 2. Tipos nativos de WebSphere Application Server y tipos de nivel de JRas RASITraceEvent. Correlación de los tipos de rastreo de WebSphere Application Server con los tipos RASITraceEvent de JRas.
Tipo nativo de WebSphere Application Server Tipo de nivel RASITraceEvent de JRas
Suceso TYPE_LEVEL1
EntryExit TYPE_LEVEL2
Debug TYPE_LEVEL3
Tabla 3. Tipos nativos de WebSphere Application Server y tipos enumerados de RASITraceEvent de JRas. Correlación de los tipos de rastreo de WebSphere Application Server con los tipos enumerados RASITraceEvent de JRas.
Tipo nativo de WebSphere Application Server Tipos enumerados RASITraceEvent de JRas
Suceso TYPE_ERROR_EXC, TYPE_SVC, TYPE_OBJ_CREATE, TYPE_OBJ_DELETE
EntryExit TYPE_ENTRY_EXIT, TYPE_API, TYPE_CALLBACK, TYPE_PRIVATE, TYPE_PUBLIC, TYPE_STATIC
Debug TYPE_MISC_DATA

A efectos de simplicidad, es aconsejable utilizar una de las dos metodologías de tipos de rastreo de forma coherente en toda la aplicación. Si opta por utilizar los tipos que no son de nivel, seleccione un tipo de cada categoría y utilícelo de forma coherente en la aplicación para evitar confusiones.

Parámetros de mensaje y de rastreo

Las diferentes signaturas de métodos de rastreo y de anotación cronológica de mensajes aceptan los tipos Object, Object[] y Throwable. WebSphere Application Server procesa y formatea los distintos tipos de parámetros del modo siguiente:
Primitivos
Los tipos de datos primitivos como, por ejemplo, int y long, no se reconocen como subclases de la clase Object y no se pueden pasar directamente a uno de estos métodos. Hay que transformar un valor primitivo en un tipo Object adecuado (Integer, Long) antes de pasarlo como parámetro.
Objeto
En el objeto se invoca el método toString() y se muestra el String resultante. Implemente adecuadamente el método toString() de los objetos que se pasen a un método de rastreo o registro cronológico de mensajes. Es responsabilidad del llamante garantizar que el método toString() no muestre datos confidenciales como, por ejemplo, las contraseñas, en texto normal y que no provoque una recursión infinita.
Object[]
El tipo Object[] se proporciona en los casos en que se pasa más de un parámetro a un método de rastreo o registro cronológico de mensajes. El método toString() se invoca en cada objeto del vector. No se manejan vectores anidados, es decir, ninguno de los elementos del vector de objetos es un vector.
Throwable
El rastreo de pila del tipo Throwable se recupera y visualiza.
Vector de tipos primitivos
Un vector de tipos primitivos como, por ejemplo, byte[], int[], se reconoce como un Objeto, pero el código Java lo asocia de forma laxa. En general, evite los vectores de tipos primitivos en la medida de lo posible. Si se pasa un vector de tipos primitivos, el resultado será indeterminado y podrá cambiar dependiendo del tipo de vector pasado, del API usado para pasar el vector y del release del producto. Para que los resultados sean coherentes, el código de usuario tiene que preprocesar y dar algún tipo de formato String al vector de tipos primitivos antes de pasarlo al método. Si no se realiza este tipo de preprocesamiento, pueden producirse los problemas siguientes:
  • [B@924586a0b - Este mensaje se ha descifrado como vector de bytes en la ubicación X. Este mensaje suele devolverse cuando se pasa un vector como miembro de un tipo Object[] y resulta de invocar el método toString() sobre el tipo byte[].
  • Argumento de rastreo no permitido: vector de long. Esta respuesta se suele devolver cuando se pasa un vector de tipos primitivos a un método que recibe un Object.
  • 01040703: La representación hexadecimal de un vector de bytes. Este problema suele producirse cuando se pasa un vector de bytes a un método que recibe un único Object. Este comportamiento puede variar y no es fiable.
  • "1" "2": La representación en String de los miembros de un tipo int[] formada mediante la conversión de cada uno de los elementos a un entero e invocación del método toString() de los enteros. Este comportamiento puede variar y no es fiable.
  • [Ljava.lang.Object;@9136fa0b : Un vector de objetos. Esta respuesta suele aparecer cuando se pasa un vector que contiene vectores anidados.

Control del registro cronológico de mensajes

La escritura de un mensaje en un registro de WebSphere Application Server requiere que el tipo del mensaje pase tres niveles de filtrado o criba:
  1. El tipo del suceso de mensaje debe ser uno de los tipos de suceso de mensaje definidos en la interfaz ASIMessageEvent.
  2. El registro de dicho tipo de suceso de mensaje debe estar habilitado mediante el estado de la máscara del registrador de mensajes.
  3. El tipo del suceso de mensaje debe pasar cualquier criterio de filtrado establecido por el entorno de ejecución de WebSphere Application Server.

Cuando se obtiene un registrador de WebSphere Application Server de la clase Manager, el valor inicial de la máscara remite todos los tipos de suceso de mensaje nativos al manejador de WebSphere Application Server. Es posible controlar los mensajes que se anotan cronológicamente estableciendo por programa el estado de la máscara del registrador de mensajes.

Algunas ediciones del soporte del producto soportan niveles de filtrado de mensajes especificados por el usuario en un proceso servidor. Cuando se establece tal tipo de nivel de filtrado, solamente se escribirán en WebSphere Application Server los mensajes que tengan los niveles de gravedad especificados. WebSphere Application Server puede descartar por filtrado los tipos de mensajes que pasan la comprobación de máscara del registrador de mensajes.

Rastreo de control

Cada edición del producto proporciona un mecanismo para habilitar o inhabilitar el rastreo. Las diferentes ediciones pueden soportar la habilitación del rastreo estático (los valores de rastreo se especifican antes de que se inicie el servidor), el rastreo dinámico (los valores de rastreo de un proceso de servidor en ejecución se pueden modificar dinámicamente) o ambos.

La escritura de un registro de rastreo en un WebSphere Application Server requiere que el tipo de rastreo pase tres niveles de filtrado o criba:
  1. El tipo de suceso de mensaje debe ser uno de los tipos de suceso de mensaje definidos en la interfaz ASIMessageEvent.
  2. El registro cronológico de este tipo de suceso de rastreo deben habilitarse mediante el estado de la máscara del registrador de rastreo.
  3. El tipo de suceso de rastreo debe pasar cualquier criterio de filtrado establecido por el entorno de ejecución de WebSphere Application Server.

Cuando se obtiene un registrador de la clase Manager, el valor inicial de la máscara es suprimir todos los tipos de rastreo. La excepción a esta norma es el caso en el que el entorno de ejecución de WebSphere Application Server permite habilitar el rastreo estático y se ha especificado un estado de rastreo de arranque no predeterminado para el registrador de rastreo. A diferencia de los registradores de mensajes, WebSphere Application Server puede modificar de forma dinámica el estado de una máscara de rastreo del registrador de rastreo. WebSphere Application Server solo modifica la parte de la máscara del registrador de rastreo correspondiente a los valores definidos en la interfaz RASITraceEvent. WebSphere Application Server no modifica los bits sin definir de la máscara que podrían estar destinados a los tipos definidos por el usuario.

Cuando se utiliza la función de habilitación del rastreo dinámico disponible en algunas plataformas, el cambio del estado del rastreo se refleja durante la ejecución del servidor de aplicaciones y en la máscara de rastreo del registrador de rastreo. Si el código de usuario modifica por programa los bits de la máscara de rastreo correspondientes a los valores definidos por la interfaz RASITraceEvent, el estado de la máscara de los registradores de rastreo y el estado en tiempo de ejecución no estarán sincronizados y podrán producirse resultados imprevistos. Por lo tanto, no se soporta la modificación programática de los bits de la máscara correspondientes a los valores definidos en la interfaz RASITraceEvent.


Icon that indicates the type of topic Reference topic



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