❶ java 怎麼通過rabbitmq 實現多channel
1;
</artifactId>
<version>version>
<groupId>org.springframework.amqp</dependency>:
<。
pom文件需要加入spring集成rabbitMq的依賴,都測試通過本文代碼樣例都是在spring集成環境下寫的.6;groupId>
<artifactId>spring-rabbit<.RELEASE</.3
❷ java如何獲取rabbitmq隊列中消息數量
下面是RabbitMQ的消息確認機制:「為了確保消息不會丟失,RabbitMQ支持消息確認機制。客戶端在接受到消息並處理完後,可以發送一個ack消息給RabbitMQ,告訴它該消息可以安全的刪除了。假如客戶端在發送ack之前意外死掉了,那麼RabbitMQ會將消息投遞到下一個consumer客戶端。如果有多個consumer客戶端,RabbitMQ在投遞消息時是輪詢的。RabbitMQ如何判斷客戶端死掉了?唯一根據是客戶端連接是否斷開。這里沒有超時機制,也就是說客戶端可以處理一個消息很長時間,只要沒斷開連接,RabbitMQ就一直等待ack消息。」我現在遇到的問題是這樣的:我這邊有幾條線程去消息隊列里取數據,但是會有異常數據導致線程掛掉,就是上邊的「客戶端在發送ack之前意外死掉了」,RabbitMQ會將消息投遞到下一個consumer客戶端,這樣一條異常數據會把我的所有線程掛掉,我現在想實現這樣的功能:如果有異常數據導致進程掛掉,那麼我不讓RabbitMQ將這條消息投遞到下一個consumer客戶端,而是放到另一個地方或者另外處理,請問該如何實現呢?