当前位置: 首页 > 知识库问答 >
问题:

ActiveMQ主题上的并行消息消耗

施飞昂
2023-03-14

ActiveMQ中的持久主题(这似乎是JMS本身的一个障碍)似乎是一个订阅服务器上只能有一个使用者活动。

也就是说,在ActiveMQ文档中:

使用唯一的JMS clientID和持久订阅服务器名称创建JMS持久订阅服务器MessageConsumer。为了符合JMS,对于一个JMS clientID,在任何时间点只能有一个JMS连接处于活动状态,对于一个clientID和订阅者名称,只能有一个使用者处于活动状态。也就是说,只有一个线程可以从给定的逻辑主题订阅服务器上主动消费。

共有1个答案

公冶威
2023-03-14

为什么会这样呢?

您引用的文档说明了为什么会出现这种情况--要符合JMS。明确地说,这里的JMS遵从版本1.1。JMS2.0引入了“共享”持久订阅服务器

这个问题会在JMS和/或ActiveMQ的未来版本中得到解决吗?

 类似资料:
  • 在我们的业务需求中,我们需要将更新传输到分布在全国各地的数千个客户端。问题是,许多这些客户端使用3G网络连接到我们,因此,发生了许多连接/断开连接...我们需要提供的更新是诸如“企业A不能再兑现”或“企业B能够再次兑现”之类的东西,我们正在考虑使用ActiveMQ持久主题来提供这些更新。我的理解是,一旦客户端连接到持久主题,即使他断开连接,每当他回来时,他都会在脱机时收到发送到该主题的消息。最大的

  • 我在ActiveMQ中使用异步消息使用者。我的制作人工作正常,向队列发送消息。现在,我的异步消息消费者正在等待调用onMessage(),但这从未发生过。因此,问题是: 异步使用者不会使用消息 ActiveMQ日志的快照还显示了许多刚刚堆积在挂起状态中的消息: 我想不出问题到底出在哪里。 计数: toPageIn 78 只是不断增加,信息仍然无法传递给消费者。 是服务器端问题还是客户端问题?

  • 我对ActiveMQ有一个类似的问题:http://activemq.2283324.n4.nabble.com/Messages-stuck-in-pending-td4617979.html已经尝试了这里发布的解决方案。 有些消息似乎卡在队列上,可以在那里坐几天而不被消费。我有足够多的消费者大部分时间都是免费的,所以这不是消费者“饱和”的问题。 重新启动ActiveMQ后,一些待处理的消息会立

  • 这是否意味着即使有一个使用者实例,我们也能够并行地使用来自三个分区的消息。 这是否可以作为替代,以增加Kafka主题的消耗率,而不增加分区的数量。我知道的唯一的另一种方法是创建一个线程池,并将接收到的消息提交给它。我们是否可以使用ConcurrentKafkaListenerContainerFactory作为该流程的替代,因为这听起来显然更容易实现。

  • 我需要一个Kafka主题存储的消息数量。这与任何消费者是否消费了消息无关。 以上是否等于Kafka主题中当前存储的消息数?

  • 我有一个在Payara 4.1.2.173上运行的应用程序。应用程序应该发送和接收JMS消息,因此,我使用Apache ActiveMQ Artemis。我选择ActiveMQ Artemis是因为ActiveMQ只支持JMS1.1,而ActiveMQ Artemis支持JMS2.0。 但是我觉得奇怪的是,ActiveMQ Artemis没有提供资源适配器(.rar文件),而ActiveMQ却提供