Websphere MQ使用XMS.Net

时间:2015-07-02 06:01:09

标签: ibm-mq xms

我想了解如何在以下场景中使用Web sphere MQ:

1.如何从队列中读取消息而不从队列中删除该消息。 2.我们有一个Web应用程序,所以我们需要Listener来读取Queue。有没有工具可以做到这一点?

1 个答案:

答案 0 :(得分:1)

是的,可以在不从队列中删除的情况下读取消息,这称为浏览。您需要创建浏览器使用者来阅读消息。我在此处发布了代码段,Tools\dotnet\samples\cs\xms\simple\wmq\SimpleQueueBrowser\SimpleQueueBrowser.cs也提供了相同的代码。

  // Create connection.
  IConnection connectionWMQ = cf.CreateConnection();
  // Create session
  ISession sessionWMQ = connectionWMQ.CreateSession(false, AcknowledgeMode.AutoAcknowledge);
  // Create destination
  IDestination destination = sessionWMQ.CreateQueue(queueName);
  // Create consumer
  IQueueBrowser queueBrowser = sessionWMQ.CreateBrowser(destination);
  // Create message listener and assign it to consumer
  MessageListener messageListener = new MessageListener(OnMessageCallback);
  queueBrowser.MessageListener = messageListener;
  // Start the connection to receive messages.
  connectionWMQ.Start();

回调方法

    static void OnMessageCallback(IMessage message)
    {
        try
        {
            // Display received message
            Console.Write(message);
        }
        catch (Exception ex)
        {
            Console.WriteLine("Exception caught in OnMessageCallback: {0}", ex);
        }
    }