【发布时间】:2021-10-01 02:44:24
【问题描述】:
我正在本地和 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;
}
}
}
【问题讨论】:
-
这是什么意思 - “在一秒钟内在队列中消耗更大的消息”?
-
2MB 短信
-
很遗憾,这并没有回答我的问题。
-
请帮助我如何在队列中发送最多 50MB 的消息。
-
如果你想发送50MB的消息那么你应该考虑迁移到支持任意large messages的ActiveMQ Artemis。
标签: linux .net-core activemq message-queue apache-nms