Mac环境下RabbitMq安装与测试教程

RabbitMq安装与测试教程

Installing on Mac

I. 安装

123456789
brew install rabbitmq

启动控制台之前需要先开启插件

1
./rabbitmq-plugins enable rabbitmq_management

进入控制台: http://localhost:15672/

用户名和密码: guest,guest

II. 配置与测试

1. 添加账号

首先是得启动mq

123456
## 添加账号./rabbitmqctl add_user admin admin

2. 编码实测

pom引入依赖

1234
<dependency>
<groupId>com.rabbitmqgroupId>
<artifactId>amqp-clientartifactId>
dependency>

开始写代码

1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768697071727374757677787980818283
public class RabbitMqTest {

需要注意的一点是:

  • 生产消息: channel.queueDeclare(QUEUE_NAME, true, false, false, null);
  • 消费消息: channel.queueDeclare(QUEUE_NAME, true, false, false, null);
  • 生产和消费都声明channel,要求两者的配置参数一致,否则无法消费数据

3. 输出说明

首先执行塞入数据,执行完毕之后,可以到控制台进行查看:

Mac环境下RabbitMq安装与测试教程

可以看到多出了一个Queue,对列名为hello,总共有10条数据

接下来就是消费数据了,执行consumer方法,输出日志

123456789101112131415161718192021
[*] Waiting for message. To exist press CTRL+C [x] Received 'Hello World RabbitMQ count: 0 [x] Done [x] Received 'Hello World RabbitMQ count: 1 [x] Done [x] Received 'Hello World RabbitMQ count: 2 [x] Done [x] Received 'Hello World RabbitMQ count: 3 [x] Done [x] Received 'Hello World RabbitMQ count: 4 [x] Done [x] Received 'Hello World RabbitMQ count: 5 [x] Done [x] Received 'Hello World RabbitMQ count: 6 [x] Done [x] Received 'Hello World RabbitMQ count: 7 [x] Done [x] Received 'Hello World RabbitMQ count: 8 [x] Done [x] Received 'Hello World RabbitMQ count: 9 [x] Done

回头去查看queue,发现总得数据量为0了

4. ACK问题

对于ack的问题,如果在消费数据的时候,出现异常,而我不希望数据丢失,这个时候就需要考虑手动ack的机制来保证了

首先需要设置手动ack

12
// 设置autoAck为falsechannel.basicConsume(QUEUE_NAME, false, consumer);

其次在消费数据完毕之后,主动ack/nack

12345
if (success) {    channel.basicAck(envelope.getDeliveryTag(), false);} else {    channel.basicNack(envelope.getDeliveryTag(), false, false);}

https://www.cnblogs.com/jasonLiu2018/p/12927512.html

连接的失败报错:RabbitMQ Exception (403) Reason: “no access to this vhost”

因为没有配置该用户的访问权限,可以通过
rabbitmqctl add_vhost admin
来添加,并赋予权限:
rabbitmqctl set_permissions -p admin 用户名 “.” “.” “.*”

代码在连接的时候,必须制定对应的vhost,否则是没有访问权限:
conn, err := amqp.Dial(“”)

Original: https://www.cnblogs.com/rxbook/p/16108182.html
Author: 浮.尘
Title: Mac环境下RabbitMq安装与测试教程

原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/540101/

转载文章受原作者版权保护。转载请注明原作者出处!

(0)

大家都在看

亲爱的 Coder【最近整理,可免费获取】👉 最新必读书单  | 👏 面试题下载  | 🌎 免费的AI知识星球