@Override public void run() { List<Token> tokens = tokensManagement.getAllTokens(SESSION_TOKEN_TYPE); long now = System.currentTimeMillis(); for (Token t : tokens) { if (t.getExpires() != null) continue; LoginSession session = token2session(t); long inactiveFor = now - session.getLastUsed().getTime(); if (inactiveFor > session.getMaxInactivity()) { log.debug("Expiring login session " + session + " inactive for: " + inactiveFor); try { removeSession(session.getId(), false); } catch (Exception e) { log.error("Can't expire the session " + session, e); } } } }