zhuguifei
2025-04-28 442928123f63ee497d766f9a7a14f0a6ee067e25
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
package org.jeecg.boot.starter.lock.annotation;
 
import org.jeecg.boot.starter.lock.enums.LockModel;
 
import java.lang.annotation.*;
 
/**
 * Redisson分布式锁注解
 *
 * @author zyf
 * @date 2020-11-11
 */
@Target({ElementType.TYPE, ElementType.METHOD})
@Retention(RetentionPolicy.RUNTIME)
@Documented
@Inherited
public @interface JLock {
 
    /**
     * 锁的模式:如果不设置,自动模式,当参数只有一个.使用 REENTRANT 参数多个 MULTIPLE
     */
    LockModel lockModel() default LockModel.AUTO;
 
    /**
     * 如果keys有多个,如果不设置,则使用 联锁
     * @return
     */
    String[] lockKey() default {};
 
    /**
     * key的静态常量:当key的spel的值是LIST,数组时使用+号连接将会被spel认为这个变量是个字符串
     * @return
     */
    String keyConstant() default "";
 
 
    /**
     * 锁超时时间,默认30000毫秒
     *
     * @return int
     */
    long expireSeconds() default 30000L;
 
    /**
     * 等待加锁超时时间,默认10000毫秒 -1 则表示一直等待
     *
     * @return int
     */
     long waitTime() default 10000L;
 
    /**
     * 未取到锁时提示信息
     *
     * @return
     */
    String failMsg() default "获取锁失败,请稍后重试";
}