HTTP session manager troubleshooting tips
If you are having problems creating or using HTTP sessions with your Web application hosted by WAS, here are some steps to take:
- See HTTP session aren't getting created or are getting dropped to see if your specific problem is discussed.
- View the JVM logs for the appserver which hosts the problem application...
- first, look at messages written while each application is starting. They will be written between the following two messages
Starting application: application ..................... Application started: application- Within this block, look for any errors or exceptions containing a package name of com.ibm.ws.webcontainer.httpsession. If none are found, this is an indication that the session manager started successfully.
- Error "SRVE0054E: An error occurred while loading session context and web application (.war)" indicates that SessionManager didn't start properly for a given application.
- Look within the logs for any Session Manager related messages. These messages will be in the format SESNxxxxE and SESNxxxxW for errors and warnings, respectively, where xxxx is a number identifying the precise error. Look up the extended error definitions in the Session Manager message table.
- Use the Log Analyzer tool to browse the service log (activity.log) file for clues.
- See Best practices for using HTTP Sessions.
- To dynamically view the number of sessions as a web application (.war) is running, enable performance monitoring for HTTP sessions. This will give you an indication as to whether sessions are actually being created.
- To learn how to view the http session counters as the application runs, see Monitoring performance with Tivoli Performance Viewer (formerly Resource Analyzer).
- Alternatively, a special servlet can be invoked that displays the current configuration and statistics related to session tracking. This servlet has all the counters that are in performance monitor tool and has some additional counters.
- Servlet name: com.ibm.ws.webcontainer.httpsession.IBMTrackerDebug.
- It can be invoked from any web module which is enabled to serve by class name. For example, using default_app, http://localhost:9080/servlet/com.ibm.ws.webcontainer.httpsession.IBMTrackerDebug.
- If you are viewing the module via the serve-by-class-name feature, be aware that it may be viewable by anyone who can view the application. You may wish to map a specific, secured URL to the servlet instead and disable the serve-servlets-by-classname feature.
- Enable tracing for the HTTP Session Manager component...
- Use the trace specification com.ibm.ws.webcontainer.httpsession.*=all=enabled. Follow the instructions for dumping and browsing the trace output to narrow the origin of the problem.
- If you are using persistent sessions based on memory replication, also enable trace for com.ibm.ws.drs.*.
- If you are using database-based persistent sessions, look for problems related to the data source the Session Manager relies on to keep session state information. For details on diagnosing database related problems see Errors accessing a datasource or connection pool
If none of these steps fixes your problem, check to see if the problem has been identified and documented by looking at the available online support (hints and tips, technotes, and fixes). If you don't find your problem listed there contact IBM support.
For current information available from IBM Support on known problems and their resolution, see IBM Support page.
IBM Support has documents that can save you time gathering information needed to resolve this problem. Before opening a PMR, see IBM Support page.
See Also
Troubleshooting by component: What is not working?