linux - 在 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;
}
}
}
解决方案
检查receiveBufferSize
并且sendBufferSize
您可以将其添加到您的连接网址:
?transport.receiveBufferSize=65536&transport.sendBufferSize=16384
推荐阅读
- spring - 在 Spring Boot 中安排发送电子邮件
- heroku - Heroku Redis 在日志中收到错误的版本号错误
- python - python根据另一列中的时间分组和计数
- flutter - 当我在真实设备上安装 Flutter 应用程序时出现空灰屏
- flutter - Android Raw 文件夹文件在发布版本中未正确复制
- git - 如何使用带有 git 补丁的漏洞查找器
- excel - 如何连接excel vba中的文本和数字并在消息框中打印出来?
- java - 错误:找到了多个具有给定标识符的行 - 尽管表关系是 1 对 1
- sql - H2 Dababase不执行sql查询
- python - 如何从一个 Google colab 笔记本导入到另一个?