RabbitMQ消息幂等性保障

消息幂等性保障

幂等性指一次和多次请求某一个资源,对于资源本身应该具有同样的结果。也就是说,其任意多次执行对资源本身所产生的影响均与一次执行的影响相同。

img

在MQ中指,消费多条相同的消息,得到与消费该消息一次相同的结果

消息幂等性保障 乐观锁机制

@Component
public class MyMessageListener {

	@Autowired
	RedisTemplate redisTemplate;
    public void processMessage(String dataString, Message message, Channel channel) {
		Boolean bol = redisTemplate.setIfAbsent(dataString,"1");
        if(bol){
            //消息已经被消费,无需再次消费
            return;
        }else{
            //消息没有被消费,接下来可以正在消费
        }
    }

}
posted @ 2024-11-05 21:03  CH_song  阅读(16)  评论(0)    收藏  举报