gpt4 book ai didi

c# - MessageListener,会不会获取并发消息

转载 作者:行者123 更新时间:2023-11-30 20:41:58 28 4
gpt4 key购买 nike

我正在使用 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)方法返回,然后再传送下一条合适的消息。

关于c# - MessageListener,会不会获取并发消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/31813384/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com