doker安装RabbitMQ以及用java连接

这篇具有很好参考价值的文章主要介绍了doker安装RabbitMQ以及用java连接。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

目录

doker安装:

 RabitMq安装:

 java链接


doker安装:

参考链接(非常详细):

docker安装以及部署_docker bu shuminio_春风与麋鹿的博客-CSDN博客

安装好后开启doker

//启动docker服务
systemctl start docker
//停止docker服务
systemctl stop docker
//重启docker服务
systemctl restart docker
//查看docker服务状态
systemctl status docker

 RabitMq安装:

1. 拉取do'ke中的rabbitmq镜像

docker pull rabbitmq:3.7.16-management

2.启动

docker run -d --hostname my-rabbit  -e RABBITMQ_DEFAULT_USER=admin -e RABBITMQ_DEFAULT_PASS=admin -p 5672:5672 -p 15672:15672  rabbitmq:3.7.16-management
 
 
参数解释:
RABBITMQ_DEFAULT_USER=admin(账号为admin)可以自己随意改
RABBITMQ_DEFAULT_PASS=admin(登录密码为admin)可以自己随意改
-p 5672:5672 :rabbitmq的默认端口,映射到虚拟机5672端口,程序中,访问用
-p 15672:15672:rabbitmq的浏览器访问登录界面端口,映射到虚拟机15672端口,浏览器访问端口

3.浏览器访问

输入虚拟机ip和端口号进行访问

doker安装RabbitMQ以及用java连接

 java链接

链接之前在防火墙中开发5672端口,否则会连接超时

#关闭防火墙
systemctl stop firewalld
#查看开启了哪些端口号
firewall-cmd --list-ports
#添加端口号
sudo firewall-cmd --permanent --zone=public --add-port=5672/tcp
#操作防火墙后要重启防火墙
firewall-cmd --reload

生产者:

public class Send {
    //Ctrl+Shift+U大写转换
    public static final String QUEUE_NAME = "hello";

    //发消息
    public static void main(String[] args) throws IOException, TimeoutException {
        //创建一个工厂
        ConnectionFactory factory = new ConnectionFactory();
        //工厂IP连接RabbitMQ的队列
        factory.setHost("192.168.29.129");
        //port可不设置,默认5672
//        factory.setPort(5672);
        //用户名
        factory.setUsername("admin");
        //密码
        factory.setPassword("admin");
        //创建连接
        Connection connection = factory.newConnection();
        //获取信道
        Channel channel = connection.createChannel();
        /**
         * 生成一个队列
         * 1.队列名称
         * 2.队列里面的消息是否持久化(磁盘)默认情况消息存储在内存中
         * 3.该队列是否只供一个消费者进行消费是否进行消息共享,false可以多个消费者消费 true:只能一个消费者消费
         * 4.是否自动删除最后一个消费者端开连接以后该队一句是否自动删除 true自动删除 false不自动删除
         * 5.其它参数
         */
        channel.queueDeclare(QUEUE_NAME,false,false,false,null);
        //发消息
        String message = "Hello World!";
        //初次使用
        /**
         * 发送一个消费
         * 1.发送到哪个交换机
         * 2.路由的Key值是哪个本次是队列的名称
         * 3.其它参数信息
         * 4.发送消息的消息体
         */
        channel.basicPublish("",QUEUE_NAME,null,message.getBytes());
        System.out.println("消息发送完毕");

    }
}

启动:doker安装RabbitMQ以及用java连接

 页面显示消息已发送成功doker安装RabbitMQ以及用java连接

 消费者:

public class Recive {
    public static final String QUEEN_NAME = "hello";

    //接收消息
    public static void main(String[] args) throws Exception {
        //创建连接工厂
        ConnectionFactory factory = new ConnectionFactory();
        factory.setHost("192.168.29.129");
        //port可不设置,默认5672
        factory.setPort(5672);
        //用户名
        factory.setUsername("admin");
        //密码
        factory.setPassword("admin");
        Connection connection = factory.newConnection();
        //用连接创建信道
        Channel channel = connection.createChannel();

        /**
         * 消费者消费消息
         *1.消费哪个队列
         * 2.消费成功之后是否要自动应答 true 代表的自动应答 false 代表手动应答
         * 3.消费者未成功消费的回调
         * 4.消费者取消消费的回调
         */
        //声明: 接收消息
        DeliverCallback deliverCallback = (consumerTag,message) ->{
            System.out.println(message);
            System.out.println(new String(message.getBody()));
        };
        //取消消息时的回调
        CancelCallback cancelCallback = consumerTag ->{
            System.out.println("消费消息被中断");
        };

        channel.basicConsume(QUEEN_NAME,true,deliverCallback,cancelCallback);


    }
}

启动:消息接收成doker安装RabbitMQ以及用java连接

 doker安装RabbitMQ以及用java连接

简单压测
使用for循环创建20个线程,每个线程向队列中插入一百万条数据

@RequestMapping("/strongSend")
    public String strongSend(){
        for (int i = 0; i < 20; i++) {
            new Thread(() -> {
                for (int i1 = 0; i1 < 1000000; i1++) {
                    rabbitTemplate.convertAndSend(RabbitConfig.SIMPLE_QUEUE_NAME,
                           Thread.currentThread().getName());
                }
            }).start();
        }
        return "压测完成";
    }

启动项目进行压测(记得把消费者关掉,或者消费者另启一个项目)

调用压测接口

 doker安装RabbitMQ以及用java连接

 文章来源地址https://www.toymoban.com/news/detail-514198.html

到了这里,关于doker安装RabbitMQ以及用java连接的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【RabbitMQ】RabbitMQ安装与使用详解以及Spring集成

    🎉🎉欢迎来到我的CSDN主页!🎉🎉 🏅我是Java方文山,一个在CSDN分享笔记的博主。📚📚 🌟推荐给大家我的专栏《RabbitMQ实战》。🎯🎯 👉点击这里,就可以查看我的主页啦!👇👇 Java方文山的个人主页 🎁如果感觉还不错的话请给我点赞吧!🎁🎁 💖期待你的加入,一

    2024年01月20日
    浏览(31)
  • Java连接rabbitMQ(三步超简单)

    rabbitMQ安装教程网上特别多就不多赘述,这里主要说一下怎么去连接 创建一个Maven项目,打开pom.xml,添加两个依赖,并更新Maven。 在src-main-java中新建一个文件夹utils,在此文件夹中添加class:rabbitMQUtils 需要注意的是要将ip、用户名、密码更换成自己的,如果是在服务器上装的

    2024年02月13日
    浏览(30)
  • linux 迁移home目录以及修改conda中pip的目录,修改pip安装路径

    1) sudo rsync -av /home/lrf /data/home/lrf 将/home目录下的文件进行复制(假设机械硬盘挂载在/data目录下)** 2) usermod -d /data/home/lrf -m lrf 修改用户$HOME变量** 3) vi /etc/passwd 查看对应用户的$HOME变量是否成功修改 ps当使用conda时,可以 vi ~/miniconda3/envs/envs_name/bin/pip 进行修改 4.1 python

    2024年04月10日
    浏览(32)
  • Linux安装rabbitMq RPM安装 以及带延迟插件

    文档中rabbitmq下载链接 以及延迟插件 网盘下载 目前下载文件中版本已经过多个服务器安装测试 完全成功 rpm -ivh openssl-libs-1.0.2k-19.el7.x86_64.rpm --force --nodeps rpm -ivh libnsl-2.34-28.el9_0.x86_64.rpm --force --nodeps rpm -ivh erlang-23.3-2.el7.x86_64.rpm --force --nodeps rpm -ivh socat-1.7.3.2-2.el7.x86_64.rpm --fo

    2024年02月03日
    浏览(35)
  • Mac二进制安装RabbitMQ以及Erlang以及OpenSSL

    由于网络上关于Mac安装RabbitMQ的教程都是基于homebrew安装的,对于没有安装homebrew的同学不是特别友好,以下内容就是直接通过官网下载安装RabbitMQ 1、安装Erlang 由于RabbitMQ是基于Erlang语音开发的所以需要提前在电脑上安装Erlang运行环境 Erlang官网:https://www.erlang.org 进入官网点击DO

    2024年02月05日
    浏览(45)
  • docker安装rabbitmq以及rabbitmq_management、rabbitmqctl管理工具

                                            💧 d o c k e r 安装 r a b b i t m q 以及 r a b b i t m q m a n a g e m e n t 、 r a b b i t m q c t l 管理工具 color{#FF1493}{docker安装rabbitmq以及rabbitmq_management、rabbitmqctl管理工具} d oc k er 安装 r abbi t m q 以及 r abbi t m q m ​ ana g e m e n

    2024年02月13日
    浏览(40)
  • 如何查看自己电脑上是否成功安装了Mysql,以及如何查看mysql的安装目录

    1、打开cmd,输入命令:net start mysql查看服务是否启动,若显示已启动则表示安装成功 2、窗口+R,输入services.msc,在弹出的服务窗口中我们可以发现MySQL正在运行中,表示已经安装成功。 双击MySQL,在弹出的界面中可以查看到mysql对应的安装目录

    2024年03月25日
    浏览(51)
  • 【Java 进阶篇】MySQL启动与关闭、目录结构以及 SQL 相关概念

    MySQL是一个常用的关系型数据库管理系统,通过启动和关闭MySQL服务,可以控制数据库的运行状态。本节将介绍如何在Windows和Linux系统上启动和关闭MySQL服务。 在Windows上启动和关闭MySQL服务 启动MySQL服务 在Windows上,MySQL服务可以通过以下步骤启动: 打开Windows服务管理器。您可

    2024年02月07日
    浏览(38)
  • Windows环境下RabbitMQ的安装(安装过程以及解决安装过程的问题)

    目录 一、准备环境 1.下载Erlang 2.安装RabbitMQ 3.RabbitMQ安装时出现的问题  RabbitMQ的介绍: http://t.csdn.cn/6mSSu RabbitMQ是由Erlang语言开发的,所以需要安装Erlang环境以及配置对应的环境变量 1.Erlang下载 官网下载地址:https://www.erlang.org/downloads 这里如果嫌官网下载麻烦,我这里提供了

    2024年02月08日
    浏览(32)
  • RabbitMQ延时队列的详细介绍以及Java代码实现

    前言:大家好,我是小威,24届毕业生,在一家满意的公司实习。本篇文章将详细介绍RabbitMQ的延时队列以及其详细代码实现。 如果文章有什么需要改进的地方还请大佬不吝赐教 👏👏。 小威在此先感谢各位大佬啦~~🤞🤞 🏠个人主页:小威要向诸佬学习呀 🧑个人简介:大

    2024年02月01日
    浏览(29)