IBM Support

The use of the javax.servlet.ServletRequestListener may disrupt WebSphere eXtremeScale HTTP session management functionality

Troubleshooting


Problem

The WebSphere eXtreme Scale HTTP session management component relies on being the first filter in the servlet filter chain and, on the ability to wrapper the incoming servlet request. In this way, all requests will go through eXtreme Scale so that it can process the request. The ServletRequestListener (introduced in Java Servlet specification Version 2.4+) allows an application to obtain access to a servlet request before the request comes into the scope of the web application, and before it enters the first servlet or filter of the web application. If the ServletRequestListener were to cache the ServletRequest and use it later (e.g. in a servlet or filter), then this request would not be a wrappered request by eXtreme scale and would bypass all eXtreme Scale processing. An example of where this problem occurs is in the Spring framework request context listener: org.springframework.web.context.request.RequestContextListener. Using this listener will disrupt eXtreme Scale HTTP session management functionality. The work-around for this issue is to use the Spring framework filter: org.springframework.web.filter.RequestContextFilter This provides the same functionality but through the use of a servlet filter.

Symptom

This problem will likely cause the session stored in the session's data grid to mismatch the session held in-memory by the web container. Such that, when a session is retrieved from the grid (e.g. in a fail-over situation), the session will not be what is expected by the web application. This may cause the fail-over situation not to work, or may have other subtle effects on the web application, depending on how the web application is written.

[{"Product":{"code":"SSTVLU","label":"WebSphere eXtreme Scale"},"Business Unit":{"code":"BU048","label":"IBM Software"},"Component":"General","Platform":[{"code":"PF016","label":"Linux"},{"code":"PF033","label":"Windows"}],"Version":"8.6.0.8;8.6.0.7;8.6.0.6;8.6.0.5;8.6.0.4;8.6.0.3;8.6.0.2;8.6.0.1;8.6;8.5.0.3;8.5.0.1;8.5","Edition":"","Line of Business":{"code":"LOB77","label":"Automation Platform"}}]

Log InLog in to view more of this document

This document has the abstract of a technical article that is available to authorized users once you have logged on. Please use Log in button above to access the full document. After log in, if you do not have the right authorization for this document, there will be instructions on what to do next.

Document Information

Modified date:
15 June 2018

UID

swg21969606