4f52f806e2755cfe7df3e267544d867bd142de33.svn-base 1.2 KB

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