public void process(FilterChain chain, Request request, Response response) { try { chain.process(request, response); for (Session s : tracker.get()) { LOGGER.debug("Committing {} ", s); s.commit(); } } finally { Set<Session> sessions = tracker.get(); for (Session s : sessions) { try { LOGGER.debug("Logout {} ", s); s.logout(); } catch (ClientPoolException e) { LOGGER.error(e.getMessage(), e); } } sessions.clear(); } }