初次使用springboot+RabbitMQ

简介: 初次使用springboot+RabbitMQ

安装



这个地方我使用的docker来安装的RabbitMQ,注意点是docker的登录必须使用docker ID来登录才能pull下载镜像,使用email是不能使用pull命令。


docker下搜索一下rabbitmq

docker search rabbitmq:management

下载rabbitmq

docker pull rabbitmq:management

运行rabbitmq

docker run -d --name rabbitmq -p 5672:5672 -p 15672:15672 docker.io/rabbitmq:3-management


安装完成也可以运行了,然后在浏览器输入http://http://localhost:15672/ ,跳转到RabbitMQ的登录界面,输入默认的用户名和密码,用户名和密码一样,都是guest。

guest的账户只能限制localhost访问,所以,我们得重新创建一个账户


添加用户


先登录guest这个账户,然后选择Admin这个选项框


image.png


然后添加Username,password和Tags,这个Tags给设置一个最高权限administrator,然后最后点“Add user”添加用户


image.png


这时候添加的用户是No access,是不能访问的,我们还是需要给他设置权限


image.png


然后点击root这个用户,对root用户进行管理,点击set permission就可以增加权限了,上面那一行黄色的提示也就消失不见了


image.png

使用


项目目录结构图


image.png

添加Maven依赖

<parent>
        <groupId>org.springframework.boot</groupId>
        <artifactId>spring-boot-starter-parent</artifactId>
        <version>2.0.0.RELEASE</version>
    </parent>
    <properties>
        <project.build.sourceEncoding>UTF-8</project.build.sourceEncoding>
        <java.version>1.8</java.version>
    </properties>
    <dependencies>
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-web</artifactId>
        </dependency>
        <!--rabbitMQ-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-amqp</artifactId>
        </dependency>
    </dependencies>
复制代码

Main启动类

@SpringBootApplication
public class Main {
    public static void main(String[] args) {
        SpringApplication.run(Main.class, args);
    }
}
复制代码

RabbitMQConfig配置类

@Configuration
public class RabbitMQConfig {
    /**
     * 创建一个名叫hello的队列
     * @return
     */
    @Bean
    public Queue queue() {
        return new Queue("hello");
    }
}
复制代码

RabbitProducerController 生产者控制器

@RestController
public class RabbitProducerController {
    @Autowired
    private AmqpTemplate rabbitTemplate;
    /**
     * 生产者向hello消息队列发送消息
     * @param name
     * @return
     */
    @RequestMapping("/produce")
    public String produce(@RequestParam String name) {
        rabbitTemplate.convertAndSend("hello", "send msg is " + name);
        return "消息发送成功";
    }
}
复制代码

RabbitConsumer 消费者

@Component
@RabbitListener(queues = "hello")
public class RabbitConsumer {
    @RabbitHandler
    public void process(String msg) {
        System.out.println("------------" + msg);
    }
}
复制代码

application.properties配置

#配置rabbitMQ
spring.rabbitmq.host=127.0.0.1
spring.rabbitmq.port=5672
spring.rabbitmq.username=root
spring.rabbitmq.password=root
复制代码


然后我们运行Main类的main方法启动springboot


在浏览器中输入http://localhost:8080/produce?name=lisi

然后看下消费者已经接收到消息并输出


image.png

相关实践学习
消息队列RocketMQ版:基础消息收发功能体验
本实验场景介绍消息队列RocketMQ版的基础消息收发功能,涵盖实例创建、Topic、Group资源创建以及消息收发体验等基础功能模块。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
4月前
|
消息中间件 Java 网络架构
|
4月前
|
消息中间件 Java 测试技术
消息中间件RabbitMQ---SpringBoot整合RabbitMQ【三】
这篇文章是关于如何在SpringBoot应用中整合RabbitMQ的消息中间件。内容包括了在SpringBoot项目中添加RabbitMQ的依赖、配置文件设置、启动类注解,以及如何通过单元测试来创建交换器、队列、绑定,并发送和接收消息。文章还介绍了如何配置消息转换器以支持对象的序列化和反序列化,以及如何使用注解`@RabbitListener`来接收消息。
消息中间件RabbitMQ---SpringBoot整合RabbitMQ【三】
|
4月前
|
网络协议 Java 物联网
MQTT(EMQX) - SpringBoot 整合MQTT 连接池 Demo - 附源代码 + 在线客服聊天架构图
MQTT(EMQX) - SpringBoot 整合MQTT 连接池 Demo - 附源代码 + 在线客服聊天架构图
876 2
|
4月前
|
消息中间件 Java Maven
|
5月前
|
消息中间件 Java 测试技术
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
【RocketMQ系列八】SpringBoot集成RocketMQ-实现普通消息和事务消息
346 1
|
5月前
|
消息中间件 Java 数据安全/隐私保护
Spring Boot与RabbitMQ的集成
Spring Boot与RabbitMQ的集成
|
5月前
|
消息中间件 Java RocketMQ
Spring Boot与RocketMQ的集成
Spring Boot与RocketMQ的集成
|
5月前
|
消息中间件 Java Spring
实现Spring Boot与RabbitMQ消息中间件的无缝集成
实现Spring Boot与RabbitMQ消息中间件的无缝集成
|
消息中间件 Linux
centos7 yum快速安装rabbitmq服务
centos7 yum快速安装rabbitmq服务
227 0
|
消息中间件 中间件 微服务
RabbitMQ 入门简介及安装
RabbitMQ 入门简介及安装
123 0