初次使用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一站式入门使用
从源码编译、部署broker、部署namesrv,使用java客户端首发消息等一站式入门RocketMQ。
消息队列 MNS 入门课程
1、消息队列MNS简介 本节课介绍消息队列的MNS的基础概念 2、消息队列MNS特性 本节课介绍消息队列的MNS的主要特性 3、MNS的最佳实践及场景应用 本节课介绍消息队列的MNS的最佳实践及场景应用案例 4、手把手系列:消息队列MNS实操讲 本节课介绍消息队列的MNS的实际操作演示 5、动手实验:基于MNS,0基础轻松构建 Web Client 本节课带您一起基于MNS,0基础轻松构建 Web Client
目录
相关文章
|
2月前
|
消息中间件 Java Maven
一文搞懂Spring Boot整合RocketMQ
一文搞懂Spring Boot整合RocketMQ
102 0
|
1月前
|
NoSQL Java Redis
小白版的springboot中集成mqtt服务(超级无敌详细),实现不了掐我头!!!
小白版的springboot中集成mqtt服务(超级无敌详细),实现不了掐我头!!!
269 1
|
2月前
|
消息中间件 存储 监控
搭建消息时光机:深入探究RabbitMQ_recent_history_exchange在Spring Boot中的应用【RabbitMQ实战 二】
搭建消息时光机:深入探究RabbitMQ_recent_history_exchange在Spring Boot中的应用【RabbitMQ实战 二】
32 1
|
2月前
|
消息中间件 监控 Java
Spring Boot中的RabbitMQ死信队列魔法:从异常到延迟,一网打尽【RabbitMQ实战 一】
Spring Boot中的RabbitMQ死信队列魔法:从异常到延迟,一网打尽【RabbitMQ实战 一】
64 0
|
3月前
|
消息中间件 数据库 RocketMQ
Springboot+RocketMQ通过事务消息优雅的实现订单支付功能
RocketMQ的事务消息,是指发送消息事件和其他事件需要同时成功或同时失败。比如银行转账, A银行的某账户要转一万元到B银行的某账户。A银行发送“B银行账户增加一万元”这个消息,要和“从A银 行账户扣除一万元”这个操作同时成功或者同时失败。RocketMQ采用两阶段提交的方式实现事务消息。
117 0
|
3月前
|
消息中间件 Java RocketMQ
Springboot整合RocketMQ 基本消息处理
1. 同步消息 2. 异步消息 3. 单向消息 4. 延迟消息 5. 批量消息 6. 顺序消息 7. Tag过滤 8. 广播消息
|
4月前
|
消息中间件 JSON 运维
spring boot RabbitMq基础教程(三)
spring boot RabbitMq基础教程
75 1
|
4月前
|
消息中间件 存储 运维
spring boot RabbitMq基础教程(二)
spring boot RabbitMq基础教程
43 0
|
4月前
|
消息中间件 存储 Java
spring boot RabbitMq基础教程(一)
spring boot RabbitMq基础教程
42 0
|
6月前
|
消息中间件 Java 测试技术
搭建RabbitMQ消息服务,整合SpringBoot实现收发消息(四)
搭建RabbitMQ消息服务,整合SpringBoot实现收发消息

热门文章

最新文章