channel是非线程安全的 。
修改后的写法:
@RabbitListener(queues = “${data.queue}”,concurrency = “#{data.concurrency}”)
public void receiveData(SmsMsg message,@Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag) {
}
产生重复的写法:
public void receiveData(SmsMsg message,@Header(AmqpHeaders.DELIVERY_TAG) long deliveryTag, Channel channel) {
channel.basicAck(deliveryTag, false);//消息确认
}