Debugging Application using wls-cat
By Vinod T Krishnan on Mar 29, 2013
JEE Application development is growing day by day and the application developer faces trouble in figuring out and understand the classes which gets loaded from different sources.
CAT is a web application which is used to analyze the classes that gets loaded by your weblogic server. This is a small but powerful tool which can
- Display class loader hierarchy
- Analyze class loading issues
- View the system and application class loaders
- Suggest to configure the package filters
- Resolve class loading conflicts
- Generate reports
- Search for a class on the class loader
The CAT tool [wls-cat] is invoked by navigating to http://127.0.0.1:7011/wls-cat where 127.0.0.1 is the host location where the weblogic server is running and 7011 is the port in which the server listening for request.
The Classloader Analysis Tool will have the application hierarchy displayed in he left hand side section of the page. This section will display all the application running in the weblogic server. The application will list down the jar file and classes loaded for the application.
For example if you want to display the CAT tool for the specific application by navigating to the Deployment section and selecting the desired application. For example in the below screenshot the DMS Application is selected from the Deployment section and then the Testing tab is selected. You will see Classloading Analysis Tool link displayed next to the application. Clicking on the link will direct you to the CAT tool.
The CAT tool displayed will display the following links associated with the tool. As a basic information you will see the Application Info displayed for the DMS Application. There are two views available for the CAT tool. They are
Basic: This view will show Application Info, Warnings and Referenced Libraries for the corresponding application selected from the class hierarchy in the left side of the tool.
Detailed: This view will list the possible conflicts for the application in the warning section along with the other section displayed under basic view. The detailed view will be visually evident in classloader Tree action. This option will show the list of classes loaded by each classloader in detail.
The Actions section will display the action associated with the CAT tool. The options available are
Summary: This action will display the information related to the application.
Analyze Conflicts: This section will show the potential conflicts for the application and simultaneously provide the possible solution to fix the problem. The Resources section will list the classes which are in conflict.
Classloader Tree: This action will show the System and the Application classloaders. The detail view will list all the classed loaded by each of these classloader. This section is useful to analyze which classloader loads the class which is of interest.
Generate Report: The report of the analysis will be generated and can be downloaded as an xml file.
Click on the classloader to display and search all the all the classes loaded from the classloader. For example in the screenshot below the java.lang.String class is analyzed. Clicking on the Analyze Resource button will list the information related to the class.
As a conclusion CAT tool is very useful in
- Displaying the basic and detailed information about applications and class modules
- Analyzing classloading conflicts in the application
- Getting suggestions for configuring and filtering classloaders
- Displaying the classloader hierarchy for each classloader
- Generating Reports of the analysis