为了账号安全,请及时绑定邮箱和手机立即绑定

SpringBoot 系列教程之 RabbitMq 初体验

标签:
Java SpringBoot

[【SpringBoot MQ系列教程】RabbitMq初体验](https://mp.weixin.qq.com/s/Oq7NsHB9nrDG_4W8KKMD0A

mq在异步解压缩压缩压缩尖锐峰的优势非常突出,现在很多的项目都会用到,掌握mq的知识点,了解如何顺畅的使用mq,可以说是必不可少的职业技能点了

接下来我们进入rabbitmq的学习过程

<!-更多->

I.环境准备

在测试之前,需要安装rabbitmq,下面分别指定mac + centos的安装教程

1. mac安装

安装命令

BREW安装的RabbitMQ的##进入安装目录CD /usr/local/Cellar/rabbitmq/3.7.5#启动BREW服务启动的RabbitMQ的#当前窗口启动的RabbitMQ的服务器```启动控制台之前需要先开启插件```庆典./rabbitmq-plugins使rabbitmq_management ```进入控制台:HTTP://本地主机:15672 /用户名和密码:客人,客人### 2的的centos的安装安装命令` ``sh yum install erlang wget http://www.rabbitmq.com/releases/rabbitmq-server/v3.6.15/rabbitmq-server-3.6.15-1.el6.noarch.rpm yum install rabbitmq-server-3.6。 15- 1.el6 .noarch.rpm ```插件开启``` SH的RabbitMQ的的-插件使rabbitmq_management#启动的RabbitMQ的的服务器-detached ``` ### 3.配置添加账号,设置权限










































bash ##添加账号./rabbitmqctl add_user管理员admin ##添加访问权限./rabbitmqctl set_permissions -p“ /” admin“。*”“。*”“。*” ##设置超级权限。/rabbitmqctlset_user_tags管理员的`### 4.项目环境接下我们创建了一个SpringBoot项目,用于简单的体验一下Rabbitmq的发布和消费消息-springboot版本为`2.2.1.RELEASE` -RabbitMQ的版本为`3.7。5 `依赖配置文件的pom.xml的```的XML <父> <的的groupId> org.springframework.boot </的的groupId> <artifactId的的>弹簧引导起动父</ artifactId的的> <版本> 2.2.1。释放</版本> <     relativePath /> <!-从存储库中查找父级-> </父级> <属性> <project.build.sourceEncoding> UTF-8 </ project.build.sourceEncoding> <项目。 report.outputEncoding> UTF-8 </ project.reporting.outputEncoding> <java.version> 1.8 </ java.version> </ properties> <依赖关系> <依赖关系> <groupId>



  















    
    
    




    
    
    



    
        org.springframework.boot </ groupId> <artifactId> spring-boot-starter-amqp </ artifactId> </ dependency> <dependency> <groupId> org.springframework.boot </ groupId> <artifactId> spring-boot-starter -web </ artifactId> </ dependency> </依靠> <build> <pluginManagement> <Plugin             <<Plug> <groupId> org.springframework.boot </ groupId> <artifactId> spring-boot-maven-plugin </ artifactId> </插件> </插件> </ pluginManagement> </ build> <存储库> <存储库> <id>春天快照</ id> <name>春天快照</名称        > <URL> https:/ /repo.spring.io/libs-snapshot-local </ url> <快照> <已启用>true </启用> </快照> </合并> <组件> <id> spring-例程</ id> <name> Spring Milestones </ name> <url> https://repo.spring.io/ libs-milestone-local </网址>
        
    
    
        
        
    



    
        

                
                
            
        
    


    
        

        
        
            
        
    
    
        
        
        
        <快照> <已启用>错误</已启用> </快照> </存储库> <存储库> <id> spring-releases </ id> <name> Spring Releases </ name> <url> https: //repo。spring.io/libs-release-local</ url> <快照> <已启用> false </启用> </ snapshots> </ repository> </ repositories> ```在`application.yml`配置文件中,添加Rabbitmq的相关属性```yml spring :Rabbitmq :虚拟主机: / 用户名:管理员密码:管理员端口:5672` ''
            
        
    
    
        
        
        
        










  
    
    
    
     


## II. 实例演示

接下来我们看一个`hello world`版本的 rabbitmq 的使用姿势,一个简单发布消息、消费消息

### 1. 发布消息

消息发布,我们主要借助`AmqpTemplate`来实现

```java
@Component
public class PublishDemo {
    @Autowired
    private AmqpTemplate amqpTemplate;

    public String publish2mq(String ans) {
        String msg = "hello world = " + ans;
        System.out.println("publish: " + msg);
        amqpTemplate.convertAndSend(Pkg.exchange, Pkg.routing, msg);
        return msg;
    }
}

上面的案例中,主要方法在于` amqpTemplate#convertAndSend ',第一个参数为exchangeName,第二个为routingKey

恒定配置如下

java 类Pkg { 最终静态字符串交换= “ topic.e” ; 最后的静态字符串路由= “ r” ; 最后的静态字符串队列= “ topic.a” ; } ```

2.消费消息

消费消息,需要指定队列,通过routingKey绑定绑定交换,如下


   

        
  
                    类型= ExchangeTypes 。主题),键= Pkg 。路由))公共无效消费者(字符串msg ){         系统。出来。println (“消费者msg:” + msg ); } } ``
       
 
    



### 3.测试演示

写一个简单的休息接口,用于接收参数,发布消息到MQ,并被` ConsumerDemo `消费

```java
@RestController
public class PubRest {
    @Autowired
    private PublishDemo publishDemo;

    @GetMapping(path = {"", "/", "/publish"})
    public String publish(String name) {
        return publishDemo.publish2mq(name);
    }
}

二。其他

0.项目

1.一灰灰博客

尽信书则不如,以上内容,纯属一家之言,因个人能力有限,难免有疏漏和错误之处,如发现错误或有更好的建议,欢迎批评指正,不吝感激

下面一灰灰的个人博客,记录所有学习和工作中的博文,欢迎大家前去逛逛

点击查看更多内容
1人点赞

若觉得本文不错,就分享一下吧!

评论

作者其他优质文章

正在加载中
感谢您的支持,我会继续努力的~
扫码打赏,你说多少就多少
赞赏金额会直接到老师账户
支付方式
打开微信扫一扫,即可进行扫码打赏哦
今天注册有机会得

100积分直接送

付费专栏免费学

大额优惠券免费领

立即参与 放弃机会
意见反馈 帮助中心 APP下载
官方微信

举报

0/150
提交
取消