首页 > 解决方案 > 在 Linux 环境下,ActiveMQ 消息从队列中消耗更多

问题描述

我正在本地和 IIS 中创建一个示例 .net 核心解决方案,在一秒钟内消耗队列中的较大消息,但我部署在 Linux 服务器中可能需要更多时间来消耗队列中的消息。我不知道如何解决它请帮助我。下面我附上了我的示例代码。

 string topic = "QueueTest";
            QueueConnectionFactory.OptimizeAcknowledge = true;
            QueueConnectionFactory.AlwaysSyncSend = false;
            using (IConnection connection = QueueConnectionFactory.CreateConnection("admin", "admin"))
            {

                connection.Start();
                Apache.NMS.ISession session = connection.CreateSession(AcknowledgementMode.AutoAcknowledge);
                using (IDestination dest = session.GetQueue(topic))
                using (IMessageConsumer consumer = session.CreateConsumer(dest))
                {
                    // TimeSpan span4 = TimeSpan.FromSeconds(3);
                    IMessage msg = consumer.Receive();
                    if (msg != null)
                    {
                        ITextMessage message = msg as ITextMessage;
                        string data = message.Text;
                    }
                }
            }

标签: linux.net-coreactivemqmessage-queueapache-nms

解决方案


检查receiveBufferSize并且sendBufferSize您可以将其添加到您的连接网址:

?transport.receiveBufferSize=65536&transport.sendBufferSize=16384

推荐阅读