大家好,我對佇列完全陌生,尤其是 IBMMQDotnet 客戶端庫。目前我的應用程式試圖將 DTO 物件發送到佇列,有時它可能由于各種原因(如發生例外或網路問題)而失敗。是否有任何重試機制?我想實作重試機制,我試圖用谷歌搜索但找不到任何示例。波紋管是當前代碼
if (!TryConnectToQueueManager())
{
return;
}
using var destination = GetMqObjectForWrite(message.Destination, message.DestinationType);
var mqMessage = new MQMessage
{
Format = MQC.MQFMT_STRING,
CharacterSet = 1208
};
if (message.Headers?.Count > 0)
{
foreach (var (key, value) in message.Headers)
{
mqMessage.SetStringProperty(key, value);
}
}
mqMessage.WriteString(JsonSerializer.Serialize(message.Data));
destination.Put(mqMessage);
destination.Close();
uj5u.com熱心網友回復:
IBM MQ 提供了一個稱為客戶端自動重新連接的功能。您可以參考以下 KC 頁面客戶端自動重新連接
如果由于網路問題導致連接失敗,IBM MQ 客戶端將在向應用程式拋出例外之前嘗試在特定時間段(可配置)內重新建立與佇列管理器的連接
您可以參考作為客戶端安裝的一部分提供的示例“SimpleClientAutoReconnectPut”和“SimpleClientAutoReconnectGet”。
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/513893.html
