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.