@Documented @Target(METHOD) @Retention(RUNTIME) public @interface Lock
分布式锁注解
  • 可选元素概要

    可选元素
    修饰符和类型
    可选元素
    说明
    boolean
    是否自动续期
    Class<? extends Supplier>
    获取锁出错或失败时执行的回调,默认抛出异常
    获取锁出错或失败时返回的提示信息
    boolean
    是否使用公平锁。
    long
    SECONDS 锁超时时间。
    时间单位。
    boolean
    是否使用尝试锁。
    锁的名称,支持{field}、{object.field...}
    锁的名称,支持{field}、{object.field...}
    long
    SECONDS 最长等待时间。
  • 元素详细资料

    • value

      String value
      锁的名称,支持{field}、{object.field...} 如果key可以确定,直接设置该属性 value 和 values 二选一
      默认值:
      ""
    • values

      String[] values
      锁的名称,支持{field}、{object.field...} 如果key可以确定,直接设置该属性 支持多个值, 开启联锁, 同时锁住多个资源 value 和 values 二选一
      默认值:
      {}
    • waitTime

      long waitTime
      SECONDS 最长等待时间。 该字段只有当tryLock()返回true才有效。
      默认值:
      0L
    • leaseTime

      long leaseTime
      SECONDS 锁超时时间。 超时时间过后,锁自动释放。 建议:尽量缩简需要加锁的逻辑。 该字段只有当autoRenew()返回false才有效。
      默认值:
      15L
    • tryLock

      boolean tryLock
      是否使用尝试锁。
      默认值:
      true
    • fairLock

      boolean fairLock
      是否使用公平锁。 公平锁即先来先得。
      默认值:
      false
    • autoRenew

      boolean autoRenew
      是否自动续期
      默认值:
      true
    • timeUnit

      TimeUnit timeUnit
      时间单位。默认为秒。
      默认值:
      SECONDS
    • fail

      Class<? extends Supplier> fail
      获取锁出错或失败时执行的回调,默认抛出异常
      默认值:
      com.sie.mbm.mom.framework.idempotent.redisson.DefaultFailSupplier.class
    • failMessage

      String failMessage
      获取锁出错或失败时返回的提示信息
      默认值:
      "\u60a8\u64cd\u4f5c\u7684\u8d44\u6e90\u5df2\u88ab\u9501\u5b9a\uff0c\u8bf7\u7a0d\u540e\u91cd\u8bd5"