亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

Rabbitmq 隊列為空,盡管隊列中有消息

Rabbitmq 隊列為空,盡管隊列中有消息

www說 2023-07-13 17:55:52
我正在從 Java Spring Boot 應用程序向消費者(即 Python 應用程序)發送消息。一切正常,除了當我輸入命令時rabbitmqctl list_queues 它顯示這video_queue 0意味著隊列中沒有消息。Consumer正在接收消息并進行一些漫長的過程;因此,如果我連續發送多條消息,應該有一些消息在隊列中等待。我對嗎?制作人:@Componentpublic class VideoProducer {    private Logger logger = LoggerFactory.getLogger(VideoProducer.class);    private final static String BROKER_EXCHANGE_NAME = "video_exchange";    private final static String ROUTING_KEY = "video_routing_key";    @Autowired    private RabbitTemplate rabbitTemplate;    @Autowired    private VideoService videoService;    @Autowired    private Gson gson;    public void produceVideo(VideoDTO video) {            rabbitTemplate.convertAndSend(BROKER_EXCHANGE_NAME, ROUTING_KEY, gson.toJson(video));        }    }}消費者connection = pika.BlockingConnection(pika.ConnectionParameters('localhost'))channelConsumer = connection.channel()# Video Consumer SettingschannelConsumer.exchange_declare(exchange='video_exchange',                                 exchange_type='direct')channelConsumer.queue_declare(queue="video_queue")channelConsumer.queue_bind(queue="video_queue",                           exchange="video_exchange",                           routing_key="video_routing_key")# Consumer Listenerdef callback(ch, method, properties, body):    video_dto = eval(json.loads(body))     ##Something long process here   print("Done..  ")    channelConsumer.basic_consume(queue='video_queue',                              auto_ack=True,                              on_message_callback=callback)print(' [*] Waiting for messages. To exit press CTRL+C')channelConsumer.start_consuming()在哪里可以看到我聲明的隊列上的消息?因為雖然我知道隊列中有消息,但我無法使用上述命令看到它們。我也在使用 RabbitMQ 管理門戶。
查看完整描述

2 回答

?
GCT1015

TA貢獻1827條經驗 獲得超4個贊

您可以使用RMQ管理控制臺查看RMQ的消息和其他信息。消費者可能會消費多個消息并將它們放入內部隊列中。為避免這種情況,請將 QOS 設置為 1,并將 ack required 設置為 true。

查看完整回答
反對 回復 2023-07-13
?
楊__羊羊

TA貢獻1943條經驗 獲得超7個贊

您可以從訪問 localhost:15672 的rabbitMQ 管理端口檢查和管理隊列,一旦任何接收者收到來自隊列的消息,它將自動從隊列中刪除。因此,如果您想查看您的消息,您最好通過管理門戶進行檢查,一旦任何收件人收到這些消息,這些消息就會被刪除。



查看完整回答
反對 回復 2023-07-13
  • 2 回答
  • 0 關注
  • 430 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號