簡體   English   中英

C#偵聽器自動清除IBM MQ消息

[英]C# Listener Making IBM MQ Message Cleared Automatically

我有一個IBM MQ的C#偵聽器,如下所示。 這里只提到監聽器方法。

private void OnMessage(IMessage msg)
{
    try
    {

        ITextMessage textMsg = (ITextMessage)msg;
        Console.Write("Got a message: ");
        Console.WriteLine(textMsg.Text);

    }
    catch(Exception ex)
    {
    }
}

每當我的隊列中到達文本格式的消息時,上面的偵聽器就會調用並且我能夠讀取值。

問題是,如果停止偵聽器然后推送消息,那么該消息將保留在MQ Explorer中。 但是,如果已經調用了偵聽器方法,則總是在從偵聽器方法中讀取消息后立即從“ Web Sphere MQ資源管理器”中刪除消息。 我是否需要設置一些其他配置來保留我的消息,即使我的聽眾閱讀了該消息?

有兩種從隊列中讀取消息的方法:

  • 破壞性獲取(默認)
  • 使用非破壞性獲取(也稱為瀏覽)

如果只想瀏覽隊列中的消息,請使用非破壞性get。

那是預期的行為。 隊列中的消息被應用程序使用(意味着您的OnMessage方法)。 消息到達隊列后,WebSphere MQ會將消息傳遞給正在等待的使用者應用程序。

如果要讓消息保留在隊列中,則需要停止所有使用者應用程序。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM