//生產者
//消息確認事件
channel.BasicAcks += Channel_BasicAcks;
。。。。。。
while (a <= 5000)//channel.WaitForConfirms()
{
//String message = Console.ReadLine();
String message = a + "......";
//消息內容
byte[] body = Encoding.UTF8.GetBytes(message);
//發送消息
channel.BasicPublish(exchange: "", routingKey: queueName, basicProperties: null, body: body);
a += 1;
Console.WriteLine("channel.NextPublishSeqNo:" + channel.NextPublishSeqNo);
}
。。。。。。
private static void Channel_BasicAcks(object sender, BasicAckEventArgs e)
{
Console.WriteLine("BasicAcks e.DeliveryTag:" + e.DeliveryTag);
Console.WriteLine("BasicAcks e.Multiple:" + e.Multiple);
}
channel.NextPublishSeqNo 每次在程序啟動后都從1開始增長,和業務數據的關系建議另外處理,比如與業務數據ID一起寫入本地緩存等
推薦: https://blog.csdn.net/hellozpc/article/details/81436980