Ejemplo n.º 1
0
 /**
  * Seems like it called after our listeners was unbounded from http session. Looks like view scope
  * it destroyed. But should we call callback or not is a big question.
  *
  * @see HttpSessionBindingListener for more details
  */
 @Override
 public void valueUnbound(HttpSessionBindingEvent event) {
   // logger.trace("Session event unbound " + event.getName());
   final Set<ViewScopeViewMapListener> listeners;
   synchronized (sessionToListeners) {
     if (sessionToListeners.containsKey(event.getSession())) {
       listeners = sessionToListeners.get(event.getSession());
       sessionToListeners.remove(event.getSession());
     } else {
       listeners = null;
     }
   }
   if (listeners != null) {
     // I just hope that JSF context already done this job
     for (ViewScopeViewMapListener listener : listeners) {
       // As long as our callbacks can run only once - this is not such big deal
       listener.doCallback();
     }
   }
 }