org.springframework.web.util

## Class HttpSessionMutexListener

- java.lang.Object
- - org.springframework.web.util.HttpSessionMutexListener

- All Implemented Interfaces:
    EventListener, HttpSessionListener

      public class HttpSessionMutexListener
      extends Object
      implements HttpSessionListener

  Servlet HttpSessionListener that automatically exposes the session mutex when an HttpSession gets created. To be registered as a listener in `web.xml`.

  The session mutex is guaranteed to be the same object during the entire lifetime of the session, available under the key defined by the `SESSION_MUTEX_ATTRIBUTE` constant. It serves as a safe reference to synchronize on for locking on the current session.

  In many cases, the HttpSession reference itself is a safe mutex as well, since it will always be the same object reference for the same active logical session. However, this is not guaranteed across different servlet containers; the only 100% safe way is a session mutex.

  Since:
    1.2.7
  Author:
    Juergen Hoeller
  See Also:
    `WebUtils.SESSION_MUTEX_ATTRIBUTE`, `WebUtils.getSessionMutex(javax.servlet.http.HttpSession)`, `AbstractController.setSynchronizeOnSession(boolean)`

- - ### Constructor Summary

    Constructors
    Constructor and Description
    `HttpSessionMutexListener()`

  - ### Method Summary

    All Methods Instance Methods Concrete Methods
    Modifier and Type | Method and Description
    --- | ---
    `void` | `sessionCreated(HttpSessionEvent event)`
    `void` | `sessionDestroyed(HttpSessionEvent event)`

    - ### Methods inherited from class java.lang.Object

      `clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait`

- - ### Constructor Detail

    - #### HttpSessionMutexListener

          public HttpSessionMutexListener()

  - ### Method Detail

    - #### sessionCreated

          public void sessionCreated(HttpSessionEvent event)

      Specified by:
        `sessionCreated` in interface `HttpSessionListener`

    - #### sessionDestroyed

          public void sessionDestroyed(HttpSessionEvent event)

      Specified by:
        `sessionDestroyed` in interface `HttpSessionListener`