@Override
  public void afterPropertiesSet() throws ServletException {
    super.afterPropertiesSet();

    if (log.isTraceEnabled()) {
      log.trace("afterPropertiesSet()");
    }

    sessionPersistenceListeners = new ArrayList<SessionPersistenceListener>();
    // scan the application context for SessionPersistenceListeners
    Map beans = applicationContext.getBeansOfType(SessionPersistenceListener.class);
    for (Object beanName : beans.keySet().toArray()) {
      sessionPersistenceListeners.add((SessionPersistenceListener) beans.get(beanName));
      if (log.isTraceEnabled()) {
        log.trace("added listener: " + beanName.toString());
      }
    }
  }