BasicConsume 是 RabbitMQ 中用於啟動消息消費的核心方法,允許客戶端(Consumers)從指定的隊列中接收消息
它支持多種配置選項,用於控制消息的自動確認、消費者標識等行為
Queue (隊列名稱)
隊列必須已存在,否則會拋出異常
AutoAck (自動確認訊息)
AutoAck (auto-acknowledge)
true:自動確認,RabbitMQ 在把訊息送給消費者後,就直接把它當成已處理完成,但如果消費者中途出錯,這個訊息會遺失,不會再重傳
false:手動確認,消費者需要明確告訴 RabbitMQ「訊息處理完成」才能刪除這個訊息,如果消費者中途出錯,RabbitMQ 會把這個訊息重新放回佇列,確保訊息不會遺失
ConsumerTag (唯一標識消費者的標籤)
可以用於取消消費或監控消費者行為,如果為空,RabbitMQ 會自動生成一個
noLocal (不接收同一個連接發送的消息)
true : 消費者將不接收由同一連接的生產者發送的消息
false: 消費者可以接收所有消息,包括來自同一連接內生產者的消息
Exclusive (確保隊列或消費者的唯一性)
exclusive 設置後,資源無法被其他連接或消費者共享
排他隊列會隨連接斷開自動刪除
Consumer (消費者)
消費者實例,用於處理消息