RepeatSubmit.java
1.18 KB
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 com.diligrp.cashier.shared.annotation;
import com.diligrp.cashier.shared.handler.duplication.DuplicationSubmit;
import com.diligrp.cashier.shared.handler.duplication.IgnoreDuplicationSubmit;
import java.lang.annotation.*;
import java.util.concurrent.TimeUnit;
/**
* @author dengwei
* @version 1.0.0
* @ClassName RepeatSubmit.java
* @Description RepeatSubmit
*/
@Inherited
@Target(ElementType.METHOD)
@Retention(RetentionPolicy.RUNTIME)
@Documented
public @interface RepeatSubmit {
/**
* 前缀
*/
String prefix() default "";
/**
* 用于存放SpEL表达式的数组
*/
String[] value() default {};
/**
* 是否值保留一个值
*/
boolean onlyOne() default false;
/**
* 等待获取锁的最大时长
* 未设置的-快速失败
* 设置-等待指定时间
*/
int waitTime() default 0;
/**
* 获取锁之后,锁的自动释放时间
*/
int leaseTime() default 0;
/**
* 时间单位
*/
TimeUnit timeUnit() default TimeUnit.SECONDS;
/**
* 重复提交
*/
Class<? extends DuplicationSubmit> duplicationSubmit() default IgnoreDuplicationSubmit.class;
}