每个 ActiveMQ 会话的消费者数量巨大

Huge Number of consumers per ActiveMQ session

我正在为 activeMQ 集群的每个线程的每个连接创建一个会话。但我想从数百个目的地消费。我明白如果我只有一个线程(一个会话),我就不能同时使用来自这些目的地的消息。我也不想那样做。但是我希望每个会话有数百个消费者,这些消费者又会关联到数百个不同的目的地,这是一种可行的方法吗?还请提供生存能力或非生存能力的原因。

PS : 我不想对消息做任何繁重的处理,所以这就是为什么只有 1 个线程。

会话不绑定到单个线程 - 线程是一个单独的章节。您可以在多个线程中使用一个会话(不推荐),在一个线程中使用多个会话。会话构造更像是一种控制事务的东西——即事务中的提交和回滚消息。

无论如何,您可以使用单个消费者读取多个目的地。只需将目的地放在列表中,例如:"my.first.queue,my.other.queue,my.last.queue"。您还可以使用通配符读取队列 - "my.>"。将使用上面的所有队列。

这样就可以使用单线程单会话读取大量队列。