code: protected void sessionDestroyed(HttpSessionEvent event) {
  
          synchronized (m_lockSessionCount) {
              m_sessionCountCurrent = (m_sessionCountCurrent <= 0) ? 0 : (m_sessionCountCurrent - 1);
              if (LOG.isInfoEnabled()) {
                  LOG.info(
                      Messages.get().getBundle().key(
                          Messages.LOG_SESSION_DESTROYED_2,
                          new Integer(m_sessionCountTotal),
                          new Integer(m_sessionCountCurrent)));
              }
          }
  
          CmsSessionInfo sessionInfo = getSessionInfo(event.getSession());
          CmsUUID userId = null;
          if (sessionInfo != null) {
              userId = sessionInfo.getUserId();
              m_sessionStorageProvider.remove(sessionInfo.getSessionId());
          }
  
          if ((userId != null) && (getSessionInfos(userId).size() == 0)) {
              // remove the temporary locks of this user from memory
              OpenCmsCore.getInstance().getLockManager().removeTempLocks(userId);
          }
  
          HttpSession session = event.getSession();
          Enumeration<?> attrNames = session.getAttributeNames();
          while (attrNames.hasMoreElements()) {
              String attrName = (String)attrNames.nextElement();
              Object attribute = session.getAttribute(attrName);
              if (attribute instanceof I_CmsSessionDestroyHandler) {
                  try {
                      ((I_CmsSessionDestroyHandler)attribute).onSessionDestroyed();
                  } catch (Exception e) {
                      LOG.error(e.getLocalizedMessage(), e);
                  }
              }
          }
  
          if (LOG.isDebugEnabled()) {
              LOG.debug(Messages.get().getBundle().key(Messages.LOG_SESSION_DESTROYED_1, event.getSession().getId()));
          }
      }
docs: Called by the {@link OpenCmsListener} when a http session is destroyed.<p>
  
  @param event the http session event
  
  @see javax.servlet.http.HttpSessionListener#sessionDestroyed(javax.servlet.http.HttpSessionEvent)
  @see OpenCmsListener#sessionDestroyed(HttpSessionEvent)