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 "获取锁失败,请稍后重试";
|
}
|