2011-07-28 18 views

答えて

0

これを取得すると、キューから削除されます。取得したメッセージは、何もしたくない場合は破棄できます。

// Hit up MSMQ for list of new messages 
    var queuedMessages = myMessageQueue.GetAllMessages(); 

    // Receive actual message to remove from the message queue 
    var messages = new List<Message>(); 
    foreach (var queuedMessage in queuedMessages) 
    { 
     // Receive the message, which removes it from the queue. 
     try 
     { 
      messages.Add(this.messageQueue.ReceiveById(queuedMessage.Id)); 
     } 
     // If it's already been removed, we skip over it. 
     // TODO: Should try to catch only the "removed" exception 
     catch (Exception) 
     { 
      continue; 
     } 
    } 

返信メッセージ;

+0

Websphereのキューからメッセージを削除する唯一の方法は、受信することです。 – macpak

+0

これは*唯一の方法ではありません。runmqscからキューをクリアすることができます。つまり、ql(system.default.local.queue)をクリアします。キューマネージャを再起動することができない場合や、有効期限しかし、WMQや他のメッセージングプロバイダの要点は、定義された非永続性、有効期限などがない場合、メッセージがアプリケーションによって受信されるまで保持されることです。編集:メッセージング・プロバイダーの文脈からはっきりしないが、WS MQ(= WebSphere MQ?)というタイトルでは、MSMQと「WebSphere Queue」がWASメッセージング・プロバイダーである可能性があると答えている。私はここでWMQを取っています – strmqm

関連する問題