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

RabbitMQ-使用AMQP和STOMP连接到同一交换机

司空赞
2023-03-14

我们使用RabbitMQ作为消息代理。生产者1使用AMQP连接,生产者2使用STOMP协议连接,消费者1使用AMQP连接,消费者2(使用javascript)通过网络插座使用STOMP连接。
(生产者1和消费者1使用Spring云流)

测试1:当使用AMQP的producer1发送消息时,它在消费者1(AMQP)中被接收,而在消费者2(STOMP)中接收失败。当producer1(AMQP)发送消息和队列被删除时,消费者2 javascript客户端会立即断开连接。

测试2:当producer2使用STOMP发送消息时,它在消费者1(AMQP)和消费者2(STOMP)中被接收,没有任何问题。

测试1-这是可能的场景吗?我们正在尝试由使用者使用AMQP和STOMP协议连接到RabbitMQ中的同一个exchange。当AMQP生产者发送消息时,STOMP消费者正在断开连接。已验证rabbitmq和使用者日志。它没有在日志中提供太多信息。

共有1个答案

仇迪
2023-03-14

因为STOMP只支持文本。更改消息内容类型有效。

 类似资料:
  • 我使用了启用STOMP的RabbitMQ docker图像。通过以下配置,当我尝试运行我的Spring Boot Application时,我得到了一个异常。 StackTrace: 2020-11-21 16:03:07.620INFO 28504---[ient-low-nio-1]o. s. ms. s. s.会话系统中传输控制协议失败:连接失败:连接拒绝:/127.0.0.1:61613

  • RabbitMQ使用AMQP协议(而是实现AMQP协议) Java客户端需要使用AMQP协议客户端库来连接/使用RabbitMQ JMS API在这里的作用是什么?JMS API应使用AMQP客户端库连接到RabbitMQ? 通常我们使用JMS来连接RabbitMQ、ActiveMQ等消息代理。那么这里使用的默认协议是什么,而不是AMQP? 上面的一些可能是哑巴。:-)但我想把头缠在上面。

  • 我正在尝试查找有关RabbitMQ使用的标准AMQP标头和AMQP协议保留的文档。我已经查看了AMQP文档和RabbitMQ的网站,但没有运气。是否有包含此信息的资源?谢谢。

  • 我一直在尝试使用RabbitMQ,但遇到了以下问题(与此非常类似:RabbitMQ中的主题交换与直接交换)。 我需要密集地广播大约800种类型的消息(因此每种消息类型都会有很多消费者),我想知道以下哪种方法更好: > 创建一个直接交换,在该交换中,消息将使用路由密钥(消息类型名称)发送,每个消费者都将通过绑定了相应路由密钥的临时队列连接到该交换。(因为没有像“key1.key2.*”这样复杂的路由

  • 我使用这个代码https://gist.github.com/svett/b7f56afc966a6b6ac2fc作为起点。 使用它并将其指向cisco路由器会得到以下错误消息: 所以我又说: 到我的ssh.clientconfig,我得到了一个不同的错误: 拨号失败:SSH:握手失败:SSH:主机密钥没有通用算法;提供的客户端:[aes128cbcID],提供的服务器:[ssh-rsa] 这基本

  • 介绍 支持在 imi 框架中使用 支持 AMQP 协议的消息队列,如:RabbitMQ 支持消息发布和消费 Github: https://github.com/imiphp/imi-amqp Composer 本项目可以使用composer安装,遵循psr-4自动加载规则,在你的 composer.json 中加入下面的内容: { "require": { "imiphp