All Downloads are FREE. Search and download functionalities are using the official Maven repository.

love.keeping.starter.web.components.locker.LockFactory Maven / Gradle / Ivy

The newest version!
package love.keeping.starter.web.components.locker;

import love.keeping.starter.common.locker.LockBuilder;
import love.keeping.starter.common.locker.Locker;
import love.keeping.starter.common.utils.Assert;
import love.keeping.starter.web.common.utils.ApplicationUtil;

public class LockFactory {

  /**
   * 默认获取锁等待时间 毫秒
   */
  public static final long DEFAULT_WAIT_TIME = 5000L;

  /**
   * 默认锁过期时间 毫秒
   */
  public static final long DEFAULT_EXPIRE_TIME = 30000L;

  public static Locker getLocker(String lockName) {

    return getLocker(lockName, DEFAULT_EXPIRE_TIME, DEFAULT_WAIT_TIME);
  }

  public static Locker getLocker(String lockName, long expireTime) {

    return getLocker(lockName, expireTime, DEFAULT_WAIT_TIME);
  }

  public static Locker getLocker(String lockName, long expireTime, long waitTime) {

    Assert.greaterThanZero(expireTime);
    Assert.greaterThanZero(waitTime);

    return ApplicationUtil.getBean(LockBuilder.class).buildLocker(lockName, expireTime, waitTime);
  }
}




© 2015 - 2025 Weber Informatics LLC | Privacy Policy