De forma predeterminada, el recopilador de datos supervisa solo determinados tipos de clases y métodos Java™ como solicitudes. Servlets, JSP, métodos de negocio EJB y determinadas API Java EE estándar se reconocen como solicitudes. Puede designar clases y métodos adicionales como solicitudes personalizadas.
Acerca de esta tarea
Para habilitar la supervisión de solicitudes personalizadas por parte del recopilador de datos, defina las solicitudes personalizadas en un archivo XML y establezca la propiedad am.camtoolkit.gpe.customxml.custom en el archivo de propiedades personalizado del kit de herramientas.
Por ejemplo, de forma predeterminada el recopilador de datos no reconoce las clases de acción de Struts como solicitudes.
No obstante, puede configurar definiciones de solicitudes personalizadas y hacer que las acciones se reconozcan como solicitudes anidadas.
Procedimiento
Realice el procedimiento siguiente para habilitar la supervisión de solicitudes personalizadas y designar uno o más métodos como solicitudes personalizadas:
-
Realice una copia del archivo
dir_inicio_dc/itcamdc/etc/custom_requests.xml
en una ubicación temporal. A continuación, abra la copia en un editor de texto.
-
Modifique los parámetros en el archivo.
En la tabla siguiente se describen los parámetros que puede modificar:
Tabla 1. Parámetros del archivo de configuración de solicitudes personalizadas
| Nombre de etiqueta |
Descripción |
edgeRequest |
Identifica uno o más métodos de aplicaciones que deben instrumentarse mediante códigos de bytes para el proceso de solicitudes
personalizadas. Modificando las etiquetas requestName, Matches, type y methodName de la etiqueta edgeRequest puede personalizar la selección. Cada etiqueta edgeRequest debe contener exactamente una etiqueta methodName y una o más etiquetas Matches. Se pueden especificar varias etiquetas edgeRequest.
|
requestName |
Define un nombre exclusivo para esta solicitud. El nombre de solicitud se muestra al usuario cuando se rastrea la entrada y salida del método. |
Matches |
Identifica una o más clases que contengan los métodos que deben instrumentarse mediante códigos de bytes para el proceso de solicitudes personalizadas. Puede haber varias etiquetas Matches en una única etiqueta edgeRequest. |
tipo
|
Indica si una clase debe ser una clase de sistema o aplicación para que coincida con la etiqueta edgeRequest. |
methodName |
Identifica los nombres de los métodos de una de las clases que identifica la etiqueta Matches que deben instrumentarse
mediante códigos de bytes para el proceso de solicitudes personalizadas. Se puede especificar exactamente una etiqueta methodName en cada etiqueta edgeRequest. |
requestMapper |
Opcional. Si se especifica esta etiqueta, el recopilador de datos utiliza un correlacionador de solicitudes para determinar información que identifica la solicitud. Puede definir formas no estándar de extraer esta información. Para obtener más información sobre cómo habilitar y definir correlacionadores de solicitudes, consulte Personalización de correlación de información de solicitud. |
Recuerde: Las etiquetas Matches y methodName pueden incluir caracteres comodín. A continuación se describe el funcionamiento de los caracteres comodín:
- Un asterisco (*) representa una o más apariciones, o ninguna, de un carácter cualquiera cuando se interpreta como tal. Cuando se encuentra incorporado en una secuencia de caracteres (por ejemplo,
java.*.String), coincide
con cero o más ocurrencias de cualquier carácter, excepto el separador del paquete (.).
- Se puede utilizar dos puntos (..) para especificar todos los subpaquetes. Coincide con cualquier secuencia
de caracteres que empieza y finaliza por el separador de paquetes (.). Por ejemplo,
java..String
coincide con java.lang.String e com.ibm..* coincide con cualquier declaración que empiece por com.ibm.
|
Por ejemplo, una aplicación con el nombre de paquete com.mycompany.myapp tiene los requisitos siguientes:
- En la clase
Customer, el método creditCheck() se debe tratar como una solicitud personalizada denominada CreditCheck.
- En la clase
Supplier, el método inventoryCheck() se debe tratar como una solicitud personalizada denominada SupplyCheck.
El contenido del archivo
custom_requests.xml personalizado que cumple los requisitos es el siguiente:
<customEdgeRequests>
<edgeRequest>
<requestName>CreditCheck</requestName>
<Matches>com.mycompany.myapp.Customer</Matches>
<type>application</type>
<methodName>creditCheck</methodName>
</edgeRequest>
<edgeRequest>
<requestName>SupplyCheck</requestName>
<Matches>com.mycompany.myapp.Supplier</Matches>
<type>application</type>
<methodName>inventoryCheck</methodName>
</edgeRequest>
</customEdgeRequests>
-
Complete uno de los pasos siguientes:
- Guarde el archivo en el directorio
dir_inicio_dc/runtime/versión_servidor_apl.nombre_nodo.nombre_perfil.nombre_servidor/custom. A continuación, en el archivo de propiedades personalizadas del kit de herramientas, establezca la propiedad am.camtoolkit.gpe.customxml.custom en el nombre (sin vía de acceso) del archivo que ha modificado en el paso 2.
- Guarde el archivo en cualquier directorio del sistema. A continuación, en el archivo de propiedades personalizadas del kit de herramientas, establezca la propiedad
am.camtoolkit.gpe.customxml.custom en la vía de acceso y el nombre del archivo que ha modificado en el paso 2.