Class UserSessionInfinispanChangelogBasedTransaction<K,V extends SessionEntity>
java.lang.Object
org.keycloak.models.sessions.infinispan.changes.InfinispanChangelogBasedTransaction<K,V>
org.keycloak.models.sessions.infinispan.changes.UserSessionInfinispanChangelogBasedTransaction<K,V>
- All Implemented Interfaces:
SessionsChangelogBasedTransaction<K,,V> NonBlockingTransaction
public class UserSessionInfinispanChangelogBasedTransaction<K,V extends SessionEntity>
extends InfinispanChangelogBasedTransaction<K,V>
User session transaction implementation that optimizes Infinispan cache expiration settings.
This class overrides the parent's timeout computation to disable max-idle tracking, which is expensive for Infinispan to maintain. Instead, the lifespan is adjusted to be the minimum of the original lifespan and max-idle values, ensuring sessions still expire at the correct time without the overhead of idle time tracking.
-
Field Summary
Fields inherited from class org.keycloak.models.sessions.infinispan.changes.InfinispanChangelogBasedTransaction
cacheHolder, kcSession, logger, updates -
Constructor Summary
ConstructorsConstructorDescriptionUserSessionInfinispanChangelogBasedTransaction(KeycloakSession kcSession, CacheHolder<K, V> cacheHolder) -
Method Summary
Modifier and TypeMethodDescriptionprotected longcomputeLifespan(long maxIdle, long lifespan) protected longcomputeMaxIdle(long maxIdle, long lifespan) Methods inherited from class org.keycloak.models.sessions.infinispan.changes.InfinispanChangelogBasedTransaction
addTask, addTask, asyncCommit, asyncRollback, generateKey, get, getCache, importSession, importSessionsConcurrently, reloadEntityInCurrentTransaction, restartEntity
-
Constructor Details
-
UserSessionInfinispanChangelogBasedTransaction
public UserSessionInfinispanChangelogBasedTransaction(KeycloakSession kcSession, CacheHolder<K, V> cacheHolder)
-
-
Method Details
-
computeLifespan
protected long computeLifespan(long maxIdle, long lifespan) - Overrides:
computeLifespanin classInfinispanChangelogBasedTransaction<K,V extends SessionEntity>
-
computeMaxIdle
protected long computeMaxIdle(long maxIdle, long lifespan) - Overrides:
computeMaxIdlein classInfinispanChangelogBasedTransaction<K,V extends SessionEntity>
-