RabbitMQ学习(七)_RabbitMQ Consumer获取消息的两种方式(poll,subscribe)解析
? ? ? RabbitMQ中consumer通過建立到queue的連接,創建channel對象,通過channel通道獲取message,
Consumer可以聲明式的以API輪詢poll的方式主動從queue的獲取消息,也可以通過訂閱的方式被動的從Queue中消費消息,
1、Subscribe訂閱方式
訂閱方式其實是向queue注冊consumer,通過rpc向queue server發送注冊consumer的消息,rabbitMQ Server在收到消息后,根據消息的內容類型判斷這是一個訂閱消息,
這樣當MQ 中queue有消息時,會自動把消息通過該socket(長連接)通道發送出去。
參見ChannelN中的方法
??? public String basicConsume(String queue, boolean autoAck, String consumerTag,
?????????????????????????????? boolean noLocal, boolean exclusive, Map<String, Object> arguments,
?????????????????????????????? final Consumer callback)
2、poll API方式
ChannelN:
GetResponse basicGet(String queue, boolean autoAck)
這種方式比較簡單,直接通過RPC從MQ Server端獲取隊列中的消息
轉載于:https://www.cnblogs.com/Regina-wisdom/p/9414390.html
總結
以上是生活随笔為你收集整理的RabbitMQ学习(七)_RabbitMQ Consumer获取消息的两种方式(poll,subscribe)解析的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 扭力扳手品牌
- 下一篇: 挺进深远海!国内首艘双模式高速风电运维船