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

活动的MQ使用者只接收替代消息

洪育
2023-03-14

要求:一个activemq队列应该在一台机器(比如machine1)中运行。该队列应该从machine1和另一台机器(比如machine2)中访问。监听器将只在machine1中运行。因此,我发送到machine1和machine2的所有消息都应该进入machine1中可用的队列,并且应该被同一台机器(machine1)中可用的监听器接收。

问题:我发送到machine1和machine2的所有消息都进入队列,但侦听器只接收到其他消息。假设1,3,5并且它无法接收消息2,4.....

观察:假设在machine1和machine2中有监听器,它正在正确接收,即;machine1中的listenr接收1,3,5.....而machine2中的监听器接收2,4,6..........

共有1个答案

邢修明
2023-03-14

默认情况下,ActiveMQ使用RoundRobin分发。因此,如果正如您所解释的,您的队列中有两个消费者(machine1和machine2),machine1将只接收到一半的消息。即使在machine2上没有处理消息的进程,该主机上的ActiveMQ客户端也可能在使用这些消息。如果您希望两个客户机可以使用消息,那么您必须使用一个主题而不是队列。

 类似资料:
  • 如何配置我的以丢弃未使用的消息? 我不希望我的客户端在订阅服务器队列时收到服务器发送的所有旧消息。 这是我目前的经纪人: 目前,我的服务器首先启动并发送大约10条消息。之后,我的客户机订阅队列,并接收在没有客户机订阅时发送的所有10条消息。我不想要这种行为。 解决 然后我发出这样一条信息: 解决方案2 我创建了一个主题而不是队列。 http://Java sample approach . com

  • 我已经用C语言编写了kafka消费者和生产者,使用的库是Library dkafka库。kafka代理版本是kafka_2.12-2.3.0。生产者正在成功生成消息,dr_msg_cb函数确认成功传递。但是,消费者没有收到来自代理的消息。有人能帮助进一步调试吗? 我可以看到,从消费者到代理的TCP连接已经建立。但TCPdump显示代理并没有向消费者发送任何数据。我在消费者代码上启用了调试,下面是消

  • 我们设置了一个中心辐射型拓扑,其中包含两个用于冗余的集线器。连接到网络的所有节点都具有到两个集线器的静态网络连接。 如果我们为另一个辐条产生的特定主题提供一个消费者,然后放弃其中一个集线器,有时消费者会停止获取数据。如果关闭hub A导致消费者停止接收数据,则进行备份将恢复消费者的订阅源。降低B对饲料没有影响。哪个枢纽可能影响消费者,这似乎是不一致的。 我们期望,对于代理网络,只要生产者在网络上并

  • 我在使用时遇到了困难,无法从开头或其他任何显式偏移量读取它。 为同一主题的使用者运行命令行工具,我确实看到带有选项的消息,否则它将挂起 我使用的是kafka-python 0.9.5,而代理运行的是Kafka8.2。不确定确切的问题是什么。 按照dpkp的建议设置_group_id=none_以模拟控制台使用者的行为。

  • 我们面临着ActiveMQ及其消费者的随机问题。我们观察到,很少有消费者不接收消息,即使他们连接到ActiveMQ队列。但在消费者重启后,它工作正常。 我们在ActiveMQ端有一个名为testQueue的队列。消费者正试图将消息从该队列中解列。为此,我们正在使用Spring的DefaultMessageListenerContainer。消息正在从ActiveMQ代理传递到使用者节点。从tcpd

  • 我有一个应用程序,可以通过谷歌云消息接收消息。我需要在收到云消息时自动启动一个活动,必要时唤醒设备。 虽然它似乎是一个糟糕的UI设计,其中一些东西被有力地显示给用户,但这个应用程序对用户的工作是至关重要的,所以当一个云消息到达时,能够清楚地查看它对用户来说是更有用的。 当收到云消息时,我尝试调用,当应用程序位于后台时,它可以正常工作。但是,一旦该应用程序从最近的应用程序列表中删除,新活动就不会启动