Class HotRodGlobalLockProvider

  • All Implemented Interfaces:
    org.keycloak.models.locking.GlobalLockProvider, org.keycloak.provider.Provider

    public class HotRodGlobalLockProvider
    extends Object
    implements org.keycloak.models.locking.GlobalLockProvider
    • Constructor Detail

      • HotRodGlobalLockProvider

        public HotRodGlobalLockProvider​(org.keycloak.models.KeycloakSession session,
                                        org.infinispan.client.hotrod.RemoteCache<String,​String> locksCache,
                                        long defaultTimeoutMilliseconds)
    • Method Detail

      • withLock

        public <V> V withLock​(String lockName,
                              Duration timeToWaitForLock,
                              org.keycloak.models.KeycloakSessionTaskWithResult<V> task)
                       throws org.keycloak.models.locking.LockAcquiringTimeoutException
        Specified by:
        withLock in interface org.keycloak.models.locking.GlobalLockProvider
        Throws:
        org.keycloak.models.locking.LockAcquiringTimeoutException
      • forceReleaseAllLocks

        public void forceReleaseAllLocks()
        Specified by:
        forceReleaseAllLocks in interface org.keycloak.models.locking.GlobalLockProvider
      • close

        public void close()
        Specified by:
        close in interface org.keycloak.provider.Provider