当前位置: 代码网 > it编程>编程语言>Java > RabbitMQ快速入门(简单收发消息)

RabbitMQ快速入门(简单收发消息)

2024年08月06日 Java 我要评论
1.了解数据隔离2.RabbitMQ控制台收发信息3.SpringBoot整合RabbitMQ收发信息以上就是简单的消息收发,具体的编程化创建虚拟机,队列以及收发信息,我会在讲解交换机的文章中讲解。


前言

1.了解数据隔离
2.rabbitmq控制台收发信息
3.springboot整合rabbitmq收发信息


一、数据隔离

1.用户管理

在这里插入图片描述
这里的用户都是rabbitmq的管理或运维人员。仔细观察用户表格中的字段,如下:

  • name:itheima,也就是用户名
  • tags:administrator,说明itheima用户是超级管理员,拥有所有权限
  • can access virtual host: /,可以访问的virtual host,这里的/是默认的virtual host

在这里插入图片描述

2.virtual host

创建完用户,你会发现你的用户是这样:
在这里插入图片描述
别急,需要授权,为你创建的用户绑定管理的虚拟机。登录你刚才创建的用户。
在这里插入图片描述
/代表默认虚拟机,我们可以给自己的项目创建一个单独的virtual host,而不是使用默认的/。

在这里插入图片描述
由于我们是登录dragon账户后创建的virtual host,因此回到users菜单,你会发现当前用户已经具备了对/dragon这个virtual host的访问权限了
在这里插入图片描述
如果你以前在默认的用户或者你创建的其他用户创建了队列,交换机,你可以看到全部没有,这就是隔离效果,互不干扰。就在当前用户当前绑定授权的虚拟机操作。

二、控制台收发

1.交换机

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

在这里插入图片描述

2.队列

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.绑定

在这里插入图片描述

在这里插入图片描述

在这里插入图片描述
在这里插入图片描述

三、编程式收发

1.依赖和配置

<parent>
        <groupid>org.springframework.boot</groupid>
        <artifactid>spring-boot-starter-parent</artifactid>
        <version>2.7.12</version>
        <relativepath/>
    </parent>

    <properties>
        <maven.compiler.source>8</maven.compiler.source>
        <maven.compiler.target>8</maven.compiler.target>
    </properties>

    <dependencies>
        <dependency>
            <groupid>org.projectlombok</groupid>
            <artifactid>lombok</artifactid>
        </dependency>
        <!--amqp依赖,包含rabbitmq-->
        <dependency>
            <groupid>org.springframework.boot</groupid>
            <artifactid>spring-boot-starter-amqp</artifactid>
        </dependency>
        <!--单元测试-->
        <dependency>
            <groupid>org.springframework.boot</groupid>
            <artifactid>spring-boot-starter-test</artifactid>
        </dependency>
    </dependencies>
spring:
  rabbitmq:
    host: 192.168.198.148 # 你的虚拟机ip
    port: 5673 # 端口
    virtual-host: /dragon # 虚拟主机
    username: dragon # 用户名
    password: 123 # 密码

2.收发信息

在这里插入图片描述
在这里插入图片描述

接收消息:
随便创建个类写如下代码

@component
public class springrabbitlistener {
	// 利用rabbitlistener来声明要监听的队列信息
    // 将来一旦监听的队列中有了消息,就会推送给当前服务,调用当前方法,处理消息。
    // 可以看到方法体中接收的就是消息体的内容
    @rabbitlistener(queues = "simple.queue")//队列名
    public void listensimplequeuemessage(string msg) throws interruptedexception {
        system.out.println("spring 消费者接收到消息:【" + msg + "】");
    }
}

发送消息:
在publisher项目的测试类里写如下代码

@springboottest
public class springamqptest {
    @resource
    private rabbittemplate rabbittemplate;

    @test
    public void testsimplequeue() {
        // 队列名称
        string queuename = "simple.queue";
        // 消息
        string message = "hello, spring amqp!";
        // 发送消息
        rabbittemplate.convertandsend(queuename, message);
    }
}

先运行consumer项目的启动类,再运行测试类发送信息,就可以看到在consumer项目控制台接收信息了。


总结

以上就是简单的消息收发,具体的编程化创建虚拟机,队列以及收发信息,我会在讲解交换机的文章中讲解。

(0)

相关文章:

版权声明:本文内容由互联网用户贡献,该文观点仅代表作者本人。本站仅提供信息存储服务,不拥有所有权,不承担相关法律责任。 如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至 2386932994@qq.com 举报,一经查实将立刻删除。

发表评论

验证码:
Copyright © 2017-2025  代码网 保留所有权利. 粤ICP备2024248653号
站长QQ:2386932994 | 联系邮箱:2386932994@qq.com