赞
踩
1.搜索
docker search rabbitmq
2.安装
docker pull rabbitmq
3.启动
docker run -d --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq
如果内存不足
docker run -d -e RMQ_JAVA_OPTS="-Xms512m -Xmx512m" -e "discovery.type=single-node" --hostname my-rabbit --name rabbit -p 15672:15672 -p 5672:5672 rabbitmq
4.安装管理插件(两种写法)
进入容器内部docker exec -it rabbit /bin/bash
docker exec -it 1114cd9fcb59 /bin/bash
5.安装插件
rabbitmq-plugins enable rabbitmq_management
6.查看插件情况
rabbitmq-plugins list
7.访问
用户名和密码用guest
8.使用步骤,maven项目
<dependency> <groupId>com.rabbitmq</groupId> <artifactId>amqp-client</artifactId> <version>4.2.0</version> </dependency> <dependency> <groupId>org.slf4j</groupId> <artifactId>slf4j-simple</artifactId> <version>1.7.25</version> </dependency> |
2.官网
https://www.rabbitmq.com/
3.编写生产者发送消息
//创建队列,发送消息 public static void sendMessage() throws Exception { //获取连接 Connection connection = MessageUitl.getConnection(); //创建通道 Channel channel = connection.createChannel(); //声明创建队列 channel.queueDeclare(QUEUE_NAME, false, false, false, null); //消息内容 String message = "Hello World!"; channel.basicPublish("", QUEUE_NAME, null, message.getBytes()); System.out.println("发送消息:" + message); //关闭连接和通道 channel.close(); connection.close(); } |
到RabbitMQ上查看
4.编写消费者
//消费者消费消息 public static void receiver() throws Exception { //获取连接和通道 Connection connection = MessageUitl.getConnection(); Channel channel = connection.createChannel(); //声明通道 channel.queueDeclare(QUEUE_NAME, false, false, false, null); Consumer consumer = new DefaultConsumer(channel) { @Override public void handleDelivery(String consumerTag, Envelope envelope, AMQP.BasicProperties properties, byte[] body) throws IOException { String msg = new String(body, "UTF-8"); System.out.println("接收到的消息:" + msg); } }; channel.basicConsume(QUEUE_NAME, consumer); } |
测试
再去运行生产者代码
发送三次,记得每次加1
下次整合SpringBoot
遇到问题
因为是使用docker 容器安装的,所有需要进入容器
docker exec -it rabbitmq /bin/bash
进入目录
cd /etc/rabbitmq/conf.d/
执行命令
echo management_agent.disable_metrics_collector = false > management_agent.disable_metrics_collector.conf
退出容器
exit
重启rabbitmq
docker restart rabbitmq
补充:安装延时,如果要得到如下效果,我们就安装插件。这是后来我弄的,3.11.1之前是3.9.11
注意最好让版本和rabbitmq保持一致!!!
首先呢:进到github,找到对应的版本
https://github.com/rabbitmq/rabbitmq-delayed-message-exchange/releases
下载后,我在centos系统的根目录下建了一个文件夹叫soft,把刚才的上传到里面。
然后执行复制,注意要先查看rabbitmq的容器id号,因为复制时要用到,我的是42653cde8098
docker cp /soft/rabbitmq_delayed_message_exchange-3.12.0.ez 42653cde8098:/plugins
进入到容器内部
docker exec -it rabbit /bin/bash
执行命令
rabbitmq-plugins enable rabbitmq_delayed_message_exchange
查看,发现多一个个*
rabbitmq-plugins list
检测是否成功
至此装好了延时。
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。