61 Map<String, SessionData> lastSessionRefreshes = ((LastSessionRefreshEvent) event).getLastSessionRefreshes();
63 if (
logger.isDebugEnabled()) {
64 logger.debugf(
"Received refreshes. Offline %b, refreshes: %s",
offline, lastSessionRefreshes);
67 lastSessionRefreshes.entrySet().stream().forEach((entry) -> {
68 String sessionId = entry.getKey();
69 String realmId = entry.getValue().getRealmId();
70 int lastSessionRefresh = entry.getValue().getLastSessionRefresh();
74 KeycloakModelUtils.runJobInTransaction(
sessionFactory, (kcSession) -> {
76 RealmModel realm = kcSession.realms().getRealm(realmId);
77 UserSessionModel userSession =
offline ? kcSession.sessions().getOfflineUserSession(realm, sessionId) : kcSession.sessions().getUserSession(realm, sessionId);
78 if (userSession == null) {
82 if (lastSessionRefresh > userSession.getLastSessionRefresh()) {
87 userSession.setLastSessionRefresh(lastSessionRefresh);
final boolean offline
Definition: LastSessionRefreshListener.java:45
final KeycloakSessionFactory sessionFactory
Definition: LastSessionRefreshListener.java:47
boolean shouldUpdateLocalCache(String key)
Definition: LastSessionRefreshListener.java:98
static final String IGNORE_REMOTE_CACHE_UPDATE
Definition: LastSessionRefreshListener.java:43
static final Logger logger
Definition: LastSessionRefreshListener.java:41
String getMyNodeName()
Definition: TopologyInfo.java:113
final TopologyInfo topologyInfo
Definition: LastSessionRefreshListener.java:49