C# MessageListener,它会获得并发消息吗

C# MessageListener,它会获得并发消息吗,c#,ibm-mq,xms,C#,Ibm Mq,Xms,我正在使用XMS 7.5客户机访问IBM MQ,并想了解有关MessageListener的一件事。 当队列上存在多条消息时 关联的MessageListener方法(即下面代码中的ProcessNewMessage)是否会同时调用?或 消息一次只能发送到MessageListener(即下面代码中的ProcessNewMessage)方法 代码如下所示: private XMSFactoryFactory xMSFactoryFactory; private IConnectionFact

我正在使用XMS 7.5客户机访问IBM MQ,并想了解有关MessageListener的一件事。 当队列上存在多条消息时

  • 关联的MessageListener方法(即下面代码中的ProcessNewMessage)是否会同时调用?或
  • 消息一次只能发送到MessageListener(即下面代码中的ProcessNewMessage)方法
代码如下所示:

private XMSFactoryFactory xMSFactoryFactory;
private IConnectionFactory connectionFactory;
private IConnection connectionWMQ;
private ISession sessionWMQ;
private IDestination destination;
private IMessageConsumer messageConsumer;

xMSFactoryFactory= XMSFactoryFactory.GetInstance(XMSC.CT_WMQ);
connectionFactory = _xMSFactoryFactory.CreateConnectionFactory();
// Set queue manager name, set server names, channel, use
// XMSC.WMQ_CM_CLIENT as WMQ_CONNECTION_MODE

connectionWMQ = _connectionFactory.CreateConnection();
sessionWMQ = _connectionWMQ.CreateSession(true, AcknowledgeMode.SessionTransacted);
destination = sessionWMQ.CreateQueue(_queueSettings.QueueName);
messageConsumer = sessionWMQ.CreateConsumer(_destination);


messageConsumer.MessageListener = new MessageListener(ProcessNewMessage)

消息一次传递一条给消费者,消费者是否正在调用
receive()
或是否已设置消息侦听器来接收消息并不重要


对于消息侦听器,MQ将等待
OnMessage
(在您的情况下是
ProcessNewMessage
)方法返回,然后再传递下一个合适的消息。

是否在内部设置了超时,OnMessage处理方法必须返回?