我们使用RabbitMQ作为消息代理 . Producer1使用AMQP连接,Producer2使用STOMP协议连接,Consumer1使用AMQP连接,Consumer2(使用javascript)通过websocket连接使用STOMP .
(Producer1和consumer1使用spring cloud stream)
测试1:当使用AMQP的producer1发送消息时,它在consumer1(AMQP)中接收并且在consumer2(STOMP)中无法接收 . 当producer1(AMQP)发送消息并且队列被删除时,Consumer2 javascript客户端立即断开连接 .
测试2:当使用STOMP的producer2发送消息时,它在consumer1(AMQP)和消费者2(STOMP)中被接收而没有任何问题 .
测试1 - 是否可能出现这种情况?我们正试图通过消费者使用AMQP和STOMP协议连接到RabbitMQ中的相同交换机 . 当AMQP 生产环境 者发送消息时,STOMP消费者正在断开连接 . 验证了rabbitmq和消费者日志 . 它没有在日志中提供太多信息 .
1 回答
由于STOMP仅支持文本 . 更改消息内容类型有效 .