Mac环境下RabbitMq安装与测试教程
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”)