Package org.redisson

Class RedissonPermitExpirableSemaphore

    • Constructor Detail

      • RedissonPermitExpirableSemaphore

        public RedissonPermitExpirableSemaphore​(CommandAsyncExecutor commandExecutor,
                                                 name)
    • Method Detail

      • getChannelName

        public static  getChannelName​( name)
      • acquire

        public  acquire()
                       throws 
        Description copied from interface: RPermitExpirableSemaphore
        Acquires a permit and returns its id. Waits if necessary until a permit became available.
        Specified by:
        acquire in interface RPermitExpirableSemaphore
        Returns:
        permit id
        Throws:
        - if the current thread is interrupted
      • acquire

        public  acquire​(long leaseTime,
                               timeUnit)
                       throws 
        Description copied from interface: RPermitExpirableSemaphore
        Acquires a permit with defined leaseTime and return its id. Waits if necessary until a permit became available.
        Specified by:
        acquire in interface RPermitExpirableSemaphore
        Parameters:
        leaseTime - permit lease time
        timeUnit - time unit
        Returns:
        permit id
        Throws:
        - if the current thread is interrupted
      • acquireAsync

        public > acquireAsync​(long leaseTime,
                                             timeUnit)
        Description copied from interface: RPermitExpirableSemaphoreAsync
        Acquires a permit with defined leaseTime and return its id. Waits if necessary until a permit became available.
        Specified by:
        acquireAsync in interface RPermitExpirableSemaphoreAsync
        Parameters:
        leaseTime - permit lease time
        timeUnit - time unit
        Returns:
        permit id
      • generateId

        protected  generateId()
      • tryAcquireAsync

        public > tryAcquireAsync​(int permits,
                                               long timeoutDate)
      • tryAcquireAsync

        public > tryAcquireAsync​(long waitTime,
                                                unit)
        Description copied from interface: RPermitExpirableSemaphoreAsync
        Tries to acquire currently available permit and return its id. Waits up to defined waitTime if necessary until a permit became available.
        Specified by:
        tryAcquireAsync in interface RPermitExpirableSemaphoreAsync
        Parameters:
        waitTime - the maximum time to wait
        unit - the time unit
        Returns:
        permit id if a permit was acquired and null if the waiting time elapsed before a permit was acquired
      • tryAcquire

        public  tryAcquire​(long waitTime,
                                 long ttl,
                                  unit)
                          throws 
        Description copied from interface: RPermitExpirableSemaphore
        Tries to acquire currently available permit with defined leaseTime and return its id. Waits up to defined waitTime if necessary until a permit became available.
        Specified by:
        tryAcquire in interface RPermitExpirableSemaphore
        Parameters:
        waitTime - the maximum time to wait
        ttl - permit lease time, use -1 to make it permanent
        unit - the time unit
        Returns:
        permit id if a permit was acquired and null if the waiting time elapsed before a permit was acquired
        Throws:
        - if the current thread is interrupted
      • tryAcquireAsync

        public > tryAcquireAsync​(long waitTime,
                                               long ttl,
                                                unit)
        Description copied from interface: RPermitExpirableSemaphoreAsync
        Tries to acquire currently available permit with defined leaseTime and return its id. Waits up to defined waitTime if necessary until a permit became available.
        Specified by:
        tryAcquireAsync in interface RPermitExpirableSemaphoreAsync
        Parameters:
        waitTime - the maximum time to wait
        ttl - permit lease time, use -1 to make it permanent
        unit - the time unit
        Returns:
        permit id if a permit was acquired and null if the waiting time elapsed before a permit was acquired
      • tryAcquire

        public  tryAcquire​(long waitTime,
                                  unit)
                          throws 
        Description copied from interface: RPermitExpirableSemaphore
        Tries to acquire currently available permit and return its id. Waits up to defined waitTime if necessary until a permit became available.
        Specified by:
        tryAcquire in interface RPermitExpirableSemaphore
        Parameters:
        waitTime - the maximum time to wait
        unit - the time unit
        Returns:
        permit id if a permit was acquired and null if the waiting time elapsed before a permit was acquired
        Throws:
        - if the current thread is interrupted
      • release

        public void release​( permitId)
        Description copied from interface: RPermitExpirableSemaphore
        Releases a permit by its id. Increases the number of available permits. Throws an exception if permit id doesn't exist or has already been released.
        Specified by:
        release in interface RPermitExpirableSemaphore
        Parameters:
        permitId - - permit id
      • tryRelease

        public boolean tryRelease​( permitId)
        Description copied from interface: RPermitExpirableSemaphore
        Tries to release permit by its id.
        Specified by:
        tryRelease in interface RPermitExpirableSemaphore
        Parameters:
        permitId - permit id
        Returns:
        true if a permit has been released and false otherwise
      • expireAsync

        public > expireAsync​(long timeToLive,
                                             timeUnit)
        Description copied from interface: RExpirableAsync
        Set a timeout for object in async mode. After the timeout has expired, the key will automatically be deleted.
        Specified by:
        expireAsync in interface RExpirableAsync
        Parameters:
        timeToLive - - timeout before object will be deleted
        timeUnit - - timeout time unit
        Returns:
        true if the timeout was set and false if not
      • expireAtAsync

        protected > expireAtAsync​(long timestamp,
                                                 ... keys)
      • clearExpireAsync

        public > clearExpireAsync()
        Description copied from interface: RExpirableAsync
        Clear an expire timeout or expire date for object in async mode. Object will not be deleted.
        Specified by:
        clearExpireAsync in interface RExpirableAsync
        Returns:
        true if the timeout was cleared and false if not
      • releaseAsync

        public > releaseAsync​( permitId)
        Description copied from interface: RPermitExpirableSemaphoreAsync
        Releases a permit by its id. Increases the number of available permits. Throws an exception if permit id doesn't exist or has already been released.
        Specified by:
        releaseAsync in interface RPermitExpirableSemaphoreAsync
        Parameters:
        permitId - - permit id
        Returns:
        void
      • trySetPermits

        public boolean trySetPermits​(int permits)
        Description copied from interface: RPermitExpirableSemaphore
        Tries to set number of permits.
        Specified by:
        trySetPermits in interface RPermitExpirableSemaphore
        Parameters:
        permits - - number of permits
        Returns:
        true if permits has been set successfully, otherwise false.
      • addPermits

        public void addPermits​(int permits)
        Description copied from interface: RPermitExpirableSemaphore
        Increases or decreases the number of available permits by defined value.
        Specified by:
        addPermits in interface RPermitExpirableSemaphore
        Parameters:
        permits - amount of permits to add/remove
      • updateLeaseTimeAsync

        public > updateLeaseTimeAsync​( permitId,
                                                     long leaseTime,
                                                      unit)
        Description copied from interface: RPermitExpirableSemaphoreAsync
        Overrides and updates lease time for defined permit id.
        Specified by:
        updateLeaseTimeAsync in interface RPermitExpirableSemaphoreAsync
        Parameters:
        permitId - permit id
        leaseTime - permit lease time, use -1 to make it permanent
        unit - the time unit
        Returns:
        true if permits has been updated successfully, otherwise false.
      • updateLeaseTime

        public boolean updateLeaseTime​( permitId,
                                       long leaseTime,
                                        unit)
        Description copied from interface: RPermitExpirableSemaphore
        Overrides and updates lease time for defined permit id.
        Specified by:
        updateLeaseTime in interface RPermitExpirableSemaphore
        Parameters:
        permitId - permit id
        leaseTime - permit lease time, use -1 to make it permanent
        unit - the time unit
        Returns:
        true if permits has been updated successfully, otherwise false.
      • expire

        public boolean expire​(long timeToLive,
                               timeUnit)
        Description copied from interface: RExpirable
        Set a timeout for object. After the timeout has expired, the key will automatically be deleted.
        Specified by:
        expire in interface RExpirable
        Parameters:
        timeToLive - - timeout before object will be deleted
        timeUnit - - timeout time unit
        Returns:
        true if the timeout was set and false if not
      • expireAt

        public boolean expireAt​(long timestamp)
        Description copied from interface: RExpirable
        Specified by:
        expireAt in interface RExpirable
        Parameters:
        timestamp - - expire date in milliseconds (Unix timestamp)
        Returns:
        true if the timeout was set and false if not
      • expire

        public boolean expire​( instant)
        Description copied from interface: RExpirable
        Set an expire date for object. When expire date comes the key will automatically be deleted.
        Specified by:
        expire in interface RExpirable
        Parameters:
        instant - - expire date
        Returns:
        true if the timeout was set and false if not
      • expireAsync

        public > expireAsync​( instant)
        Description copied from interface: RExpirableAsync
        Set an expire date for object. When expire date comes the key will automatically be deleted.
        Specified by:
        expireAsync in interface RExpirableAsync
        Parameters:
        instant - - expire date
        Returns:
        true if the timeout was set and false if not
      • expireAt

        public boolean expireAt​( timestamp)
        Description copied from interface: RExpirable
        Specified by:
        expireAt in interface RExpirable
        Parameters:
        timestamp - - expire date
        Returns:
        true if the timeout was set and false if not
      • clearExpire

        public boolean clearExpire()
        Description copied from interface: RExpirable
        Clear an expire timeout or expire date for object.
        Specified by:
        clearExpire in interface RExpirable
        Returns:
        true if timeout was removed false if object does not exist or does not have an associated timeout
      • remainTimeToLive

        public long remainTimeToLive()
        Description copied from interface: RExpirable
        Remaining time to live of Redisson object that has a timeout
        Specified by:
        remainTimeToLive in interface RExpirable
        Returns:
        time in milliseconds -2 if the key does not exist. -1 if the key exists but has no associated expire.
      • remainTimeToLiveAsync

        public > remainTimeToLiveAsync()
        Description copied from interface: RExpirableAsync
        Remaining time to live of Redisson object that has a timeout
        Specified by:
        remainTimeToLiveAsync in interface RExpirableAsync
        Returns:
        time in milliseconds -2 if the key does not exist. -1 if the key exists but has no associated expire.
      • expireAsync

        protected > expireAsync​(long timeToLive,
                                                timeUnit,
                                               ... keys)
      • clearExpireAsync

        protected > clearExpireAsync​(... keys)