https://www.cnblogs.com/yihuihui/p/9095130.html
Mac環境下RabbitMq安裝與測試教程
RabbitMq安裝與測試教程
I. 安裝
1 |
brew install rabbitmq |
啟動控制台之前需要先開啟插件
1 |
./rabbitmq-plugins enable rabbitmq_management |
進入控制台: http://localhost:15672/
用戶名和密碼:guest,guest
II. 配置與測試
1. 添加賬號
首先是得啟動mq
1 |
## 添加賬號 |
2. 編碼實測
pom引入依賴
1 |
<dependency> |
開始寫代碼
1 |
public class RabbitMqTest { |
需要注意的一點是:
- 生產消息:
channel.queueDeclare(QUEUE_NAME, true, false, false, null);
- 消費消息:
channel.queueDeclare(QUEUE_NAME, true, false, false, null);
- 生產和消費都聲明channel,要求兩者的配置參數一致,否則無法消費數據
3. 輸出說明
首先執行塞入數據,執行完畢之后,可以到控制台進行查看:
可以看到多出了一個Queue,對列名為hello,總共有10條數據
接下來就是消費數據了,執行consumer方法,輸出日志
1 |
[*] Waiting for message. To exist press CTRL+C |
回頭去查看queue,發現總得數據量為0了
4. ACK問題
對於ack的問題,如果在消費數據的時候,出現異常,而我不希望數據丟失,這個時候就需要考慮手動ack的機制來保證了
首先需要設置手動ack
1 |
// 設置autoAck為false |
其次在消費數據完畢之后,主動ack/nack
1 |
if (success) { |
https://www.cnblogs.com/jasonLiu2018/p/12927512.html
RabbitMQ no access to this vhost
連接的失敗報錯:RabbitMQ Exception (403) Reason: "no access to this vhost"
因為沒有配置該用戶的訪問權限,可以通過
rabbitmqctl add_vhost admin
來添加,並賦予權限:
rabbitmqctl set_permissions -p admin 用戶名 "." "." ".*"
代碼在連接的時候,必須制定對應的vhost,否則是沒有訪問權限:
conn, err := amqp.Dial("amqp://sky:password@ip:5672/admin”)