日本熟妇hd丰满老熟妇,中文字幕一区二区三区在线不卡 ,亚洲成片在线观看,免费女同在线一区二区

如何設置Message ID

更新時間:

如需追蹤和識別消息,您可以在云消息隊列 RabbitMQ 版的Producer客戶端設置Message ID屬性,為每條消息設置唯一標識符。本文介紹Message ID的相關概念和設置方法。

什么是Message ID

Message ID(消息標識符)是消息的可選屬性,類型為short string。Message ID在業務上通常被設置為唯一,適用于追蹤和識別銷售單、工單等需要保證消息唯一的場景。云消息隊列 RabbitMQ 版服務端不會對消息進行冪等處理。如需實現消息冪等,即如果消息重試多次,消費者端對該重復消息消費多次與消費一次的結果是相同的,并且多次消費沒有對系統產生副作用,在為每條消息設置唯一Message ID的基礎上,您還需要在云消息隊列 RabbitMQ 版的Consumer客戶端對消息進行冪等處理,具體信息,請參見消息冪等

設置方法

云消息隊列 RabbitMQ 版的Producer客戶端設置Basic.Propertiesmessage-id屬性。示例代碼如下:

Java

AMQP.BasicProperties props = new AMQP.BasicProperties.Builder().messageId("messageid").build(); 
channel.basicPublish("${ExchangeName}", "BindingKey", true, props, ("消息發送Body").getBytes(StandardCharsets.UTF_8));

Python

properties = pika.BasicProperties(app_id='example-publisher', content_type='application/json', 'message_id'='messageid')

PHP

$msg = new AMQPMessage($msgBody, ['application_headers'=>$amqpTable,'content_type' => 'text/plain', 'delivery_mode' => 2,'message_id' => 'messageid',]);

Go

err = ch.Publish( "helloExchange", "hello", false, false, amqp.Publishing { ContentType: "text/plain", Body: []byte(body), MessageId: "messageId", })

Node.js

channel.BasicPublish(exchange: "", routingKey: "hello", basicProperties: null, body: body);