注释类型 Lock4j
-
@Target(METHOD) @Retention(RUNTIME) public @interface Lock4j
分布式锁注解- 作者:
- zengzhihong TaoYu
-
-
可选元素概要
可选元素 修饰符和类型 可选元素 说明 longacquireTimeoutbooleanautoRelease业务方法执行完后(方法内抛异常也算执行完)自动释放锁,如果为false,锁将不会自动释放直至到达过期时间才释放expire()Class<? extends LockExecutor>executorlongexpireString[]keyssupport SPEL expresion 锁的key = name + keysStringname用于多个方法锁同一把锁 可以理解为锁资源名称 为空则会使用 包名+类名+方法名
-
-
-
元素详细资料
-
name
String name
用于多个方法锁同一把锁 可以理解为锁资源名称 为空则会使用 包名+类名+方法名- 返回:
- 名称
- 默认值:
- ""
-
-
-
executor
Class<? extends LockExecutor> executor
- 返回:
- lock 执行器
- 默认值:
- com.baomidou.lock.executor.LockExecutor.class
-
-
-
keys
String[] keys
support SPEL expresion 锁的key = name + keys- 返回:
- KEY
- 默认值:
- {""}
-
-
-
expire
long expire
- 返回:
- 过期时间 单位:毫秒
过期时间一定是要长于业务的执行时间. 未设置则为默认时间30秒 默认值:Lock4jProperties.expire
- 默认值:
- -1L
-
-
-
acquireTimeout
long acquireTimeout
- 返回:
- 获取锁超时时间 单位:毫秒
结合业务,建议该时间不宜设置过长,特别在并发高的情况下. 未设置则为默认时间3秒 默认值:Lock4jProperties.acquireTimeout
- 默认值:
- -1L
-
-
-
autoRelease
boolean autoRelease
业务方法执行完后(方法内抛异常也算执行完)自动释放锁,如果为false,锁将不会自动释放直至到达过期时间才释放expire()- 返回:
- 是否自动释放锁
- 默认值:
- true
-
-