[英]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.