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

AMQP&OpenWire-ActiveMQ代理和2个不同的消费者

李捷
2023-03-14

我有一个支持amqp和OpenWire的activeMQ代理。openwire(tcp,端口61616)的生产者有可能生产到一个队列,该队列的消费者使用amqp协议吗?

或者我只限于相同的协议消费者和生产者?

共有1个答案

南门新知
2023-03-14

是的,可以使用ActiveMQ与OpenWire JMS客户机和AMQP客户机进行互操作。保存消息的目的地不是独立的空间,因此一种类型的客户机在队列中的消息位置可以由其他协议的客户机使用。

您必须解决的唯一问题是如何将实际消息传递给每个客户机。ActiveMQ提供了一个可配置的转染器,它可以在从AMQP客户机发送时保留AMQP消息的原始字节,也可以将该消息转换为OpenWire客户机接收的预期类型(TextMessage、BytesMessage、MapMessage...)的更具JMS风格的消息对象。

请参阅ActiveMQ的文档,以获得有关配置和理解AMQP到OpenWire消息映射的帮助。

<transportConnector name="amqp" uri="amqp://localhost:5672?transport.transformer=jms"/>
 类似资料:
  • 我最近开始使用消息队列(使用ActiveMQ),并进行了试验。 null 谢谢你的建议,

  • 启动使用者接收消息 根据我的理解,consumer直接使用来自broker的消息,但在上面的consumer命令中,我们没有提到broker,而只提到zookeeper。消费者是否会连接到zookeeper(而不是broker)来消费消息?

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

  • 我有一个Kinesis生产者,它将单一类型的消息写入流。我想在多个完全不同的消费者应用程序中处理这个流。因此,给定主题/流的具有单个发布者的发布/订阅。我还想利用检查点来确保每个消费者处理写入流的每条消息。 最初,我对所有消费者和生产者使用相同的应用程序名称。但是,一旦我启动多个消费者,我就开始收到以下错误: 通用域名格式。amazonaws。服务。运动。模型InvalidArgumentExce

  • 问题内容: 我有一个使用SSL传输的activeMQ代理。我大约有10位使用代理的消费者。我正在使用骆驼配置路线。 即使我重新启动使用者,它总是挂断并且不会使用新消息,即使队列中有待处理的消息也是如此。 我开始尝试一次遍历我的消费者,试图找出问题所在,以找出问题的根源。我终于找到了一个消费者,我可以重新解决这个问题。一段时间后它将挂起,但是,如果我进入活动的MQ管理控制台并尝试查看队列中的消息,它

  • 我有一个使用ActiveMQ的消息队列。web请求用persistency=true将消息放入队列。现在,我有两个消费者,它们都作为单独的会话连接到这个队列。使用者1总是确认消息,但使用者2从不这样做。 JMS队列实现负载平衡器语义。一条消息将被一个使用者接收。如果在发送消息时没有可用的使用者,它将被保留,直到有可以处理消息的使用者可用为止。如果使用者接收到一条消息,但在关闭之前没有确认它,那么该