Serializing access to session data
Overview
The Servlet API supports concurrent access to a session in a given server instance. WAS provides an option to prevent the concurrent access to a session in a given server instance so that concurrent modification of a session does not occur in a given server instance. This prevention is achieved by synchronizing the requests based on session. When this feature is turned on, a session is obtained for the request before invoking the servlet and requests are synchronized by locking the session for the servlet execution time. Note that synchronization is based on the memory copy of session. So this feature cannot serialize requests across servers based on session when session affinity fails.
Restriction: Use this feature only when concurrent modification of the same session data is possible and is not desirable by the application. This feature has overhead of serializing the requests based on a session.
Do the following to synchronize session access:
Procedure
- Select the level of Session Management on which you want to serialize session access.
- Under Serialize Session access, click Allow serial access.
- In the Maximum wait time box, type the amount of time, in milliseconds, a servlet waits on a session before continuing execution. The default is 120000 milliseconds or two minutes.
- Select Allow access on timeout if you want the servlet to gain access to the session and continue normal execution even if the session is still locked by another servlet. If you do not select this box, the servlet execution will abort when the session request times out.
- Click Apply.
- Click Save.
Related Tasks
Configuring session tracking