@Target(value=METHOD) @Retention(value=RUNTIME) @Documented public @interface DistributedLock
分布式锁注解
| 限定符和类型 | 可选元素和说明 |
|---|---|
int |
argNum
将方法第argNum个参数作为锁
|
long |
leaseTime
锁超时时间。
|
String |
lockName
锁的名称。
|
String |
lockNamePost
lockName后缀
|
String |
lockNamePre
lockName后缀
|
LockType |
lockType
使用锁的类型。
|
String |
param
获取注解的方法参数列表的某个参数对象的某个属性值来作为lockName。
|
String |
separator
获得锁名时拼接前后缀用到的分隔符
|
TimeUnit |
timeUnit
时间单位。
|
boolean |
tryLock
是否使用尝试锁。
|
long |
waitTime
最长等待时间。
|
public abstract String lockName
public abstract String lockNamePre
public abstract String lockNamePost
public abstract String separator
public abstract String param
获取注解的方法参数列表的某个参数对象的某个属性值来作为lockName。因为有时候lockName是不固定的。
当param不为空时,可以通过argNum参数来设置具体是参数列表的第几个参数,不设置则默认取第一个。
public abstract LockType lockType
public abstract TimeUnit timeUnit
Copyright © 2020. All rights reserved.