生產者:代碼如上一章
消費者1:代碼如前一章
消費者2:與消費者1代碼完全相同
注意:此時,消費者1和2監聽在同一個隊列上,隊列會以輪訓的方式將10個消息分別交給消費者1和2進行處理。
但是這種情況下,如果消費者1處理的消息比較繁重,而消費者2處理的消息比較輕松地話,實際上應該讓消費者2多處理一些消息,在消費者代碼添加中如下代碼:
/** * basicQos(int prefetchCount) * prefetchCount:maximum number of messages that the server will deliver, 0 if unlimited */ channel.basicQos(1);//阻止rabbitmq將消息平均分配到每一個消費者,會優先的發給不忙的消費者,如果當前的消費者在忙的話,就將消息分配給下一個消費者