我有一个聊天应用程序,使用 Spring Boot 和 SockJS over STOMP 创建,由外部 ActiveMQ 代理支持,我的问题是在大约 4000 个客户端连接和 10000 个 ActiveMQ 目标之后,ActiveMQ 崩溃,与 KahaDB 相关的内存不足。我想切换到 Apache Artemis,因为博客提到它比 ActiveMQ 性能更好,并且可以处理更多的客户端连接,并且还实现了非阻塞。我希望只是用 Artemis 换掉 ActiveMQ,但是,我看到客户端连接并且订阅主题和队列,但他们没有通过 Artemis 接收消息。
和想法可能是什么问题?这是我在 Artemis broker.xml 配置文件中的设置:
<address-settings>
<!--default for catch all-->
<address-setting match="#">
<dead-letter-address>jms.queue.DLQ</dead-letter-address>
<expiry-address>jms.queue.ExpiryQueue</expiry-address>
<redelivery-delay>0</redelivery-delay>
<!-- with -1 only the global-max-size is in use for limiting -->
<max-size-bytes>-1</max-size-bytes>
<message-counter-history-day-limit>10</message-counter-history-day-limit>
<address-full-policy>PAGE</address-full-policy>
<auto-create-jms-queues>true</auto-create-jms-queues>
<auto-delete-jms-queues>true</auto-delete-jms-queues>
</address-setting>
</address-settings>
任何帮助将非常感激。
提前致谢。