IBM Tivoli Composite Application Manager for Application Diagnostics, Version

Make a custom request invoke an edge request

If the class and method defined in a custom request definition are invoked from within another request, then the custom request becomes a nested request. It is necessary to turn on the L2 monitoring to view these requests in the ITCAM MSVE console.

For example, in Model-View-Controller(MVC) architectures, the controller receives all the requests from the clients. Based on the content of the request, it then redirects to the appropriate model. A well-known implementation of the MVC architecture is the Apache Struts framework that is widely used in the J2EE applications.

In Apache Struts, the controller is the ActionServlet and it receives all the requests. The ActionServlet interprets the URL and based on the Apache Struts configuration files, it gives the handling to one of the Action classes written by the user. When monitoring Apache Struts applications, the user is interested in making these Action classes the edge request instead of the ActionServlet which receives all the requests so that different types of URLs used by the application can be tracked.

This can be done by defining each of the Action classes as a custom request. However, since the ActionServlet is invoked first, these action classes are inside an already created edge request and hence can only be tracked as nested requests.

To make the Action classes an edge request, it in necessary to prevent the Apache Struts ActionServlet from creating the edge request. This is done by preventing the normal Struts action servlet from being considered an edge request by the data collector, by excluding the action servlet class from instrumentation.

Parent topic:

Create custom requests