Docker下安装RabbitMQ及rabbitmq_delayed_message_exchange及使用

Docker安装RabbitMQ

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.访问

http://169.254.140.100:15672/

用户名和密码用guest

 

 

8.使用步骤,maven项目

  1. 依赖

    <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 

遇到问题

RabbitMQ Management:Management API returned status code 500

因为是使用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

rabbitmq_delayed_message_exchange

补充:安装延时,如果要得到如下效果,我们就安装插件。这是后来我弄的,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

检测是否成功

至此装好了延时。

  • 1
    点赞
  • 13
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 5
    评论
使用Docker Compose安装RabbitMQ,你可以按照以下步骤进行操作: 1. 确保你已经安装DockerDocker Compose。 2. 创建一个名为docker-compose.yml的文件,并在其中定义RabbitMQ的配置。你可以使用不同的镜像版本,具体取决于你的需求。例如,你可以使用以下配置: ```yaml version: '3' services: rabbitmq: image: rabbitmq:3.9.13-management container_name: rabbitmq restart: always hostname: rabbitmq ports: - 15672:15672 volumes: - ./data:/var/lib/rabbitmq - ./config/rabbitmq.sh:/etc/rabbitmq/rabbitmq.sh environment: - RABBITMQ_DEFAULT_USER=guest - RABBITMQ_DEFAULT_PASS=guest - RABBITMQ_ERLANG_COOKIE=hellocookie ``` 3. 在终端中执行`docker-compose up -d`命令来启动RabbitMQ容器。 这样,你就可以使用Docker Compose安装RabbitMQ了。请注意,你可以根据自己的需求进行配置,例如更改端口映射、添加环境变量等。 #### 引用[.reference_title] - *1* [【rabbitmq系列】使用docker-compose安装rabbitmq](https://blog.csdn.net/Think_and_work/article/details/123380095)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *2* [docker-compose安装RabbitMQ](https://blog.csdn.net/qq_41865652/article/details/123263529)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] - *3* [docker-compose安装rabbitMq](https://blog.csdn.net/zhangcongyi420/article/details/105324128)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v91^insertT0,239^v3^insert_chatgpt"}} ] [.reference_item] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 5
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汤永红

一分也是爱

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值