消息幂等性保障
幂等性指一次和多次请求某一个资源,对于资源本身应该具有同样的结果。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。
在MQ中指,消费多条相同的消息,得到与消费该消息一次相同的结果
消息幂等性保障 乐观锁机制
@Component
public class MyMessageListener {@AutowiredRedisTemplate redisTemplate;public void processMessage(String dataString, Message message, Channel channel) {Boolean bol = redisTemplate.setIfAbsent(dataString,"1");if(bol){//消息已经被消费,无需再次消费return;}else{//消息没有被消费,接下来可以正在消费}}}