幂等性指的是多次操作,结果是一致的,其任意多次执行所产生的影响均与一次执行的影响相同,例如我们多个线程去查询数据库,多次操作数据库数据要保证一致。现在企业级的事项目大部分都是分布式的,而在分布式环境下幂等是非常常见也是我们必须要解决的问题;
我们今天主要说一个代码层面通过注解的形式来实现一个通用幂等组件
其大体流程如下图:
设计注解(ElementType.METHOD方法层面): (默认值expireTime为过期时间也就是一定时间内要求 当前用户当前任务只能执行一次)
import java.lang.ann