rabbitmq如何在SpringBoot中应用

  介绍

本篇文章为大家展示了rabbitmq如何在SpringBoot中应用,内容简明扼要并且容易理解,绝对能使你眼前一亮,通过这篇文章的详细介绍希望你能有所收获。

& lt; dependency>   ,,,,,& lt; groupId> org.springframework.boot   ,,,,,& lt; artifactId> spring-boot-starter   ,,,& lt;/dependency>      ,,,& lt; dependency>   ,,,,,& lt; groupId> org.springframework.boot   ,,,,,& lt; artifactId> spring-boot-starter-web   ,,,& lt;/dependency>      ,,,& lt; dependency>   ,,,,,& lt; groupId> org.springframework.boot   ,,,,,& lt; artifactId> spring-boot-starter-amqp   ,,,& lt;/dependency>      ,,,& lt; dependency>   ,,,,,& lt; groupId> org.projectlombok   ,,,,,& lt; artifactId> lombok   ,,,& lt;/dependency>

AMQP,即高级消息队列协议,一个提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计。基于此协议的客户端与消息中间件可传递消息,并不受客户端/中间件不同产品,不同的开发语言等条件的限制,spring-boot-starter-amqp引入的就是rabbitmq。有个前提,你的机子上要首先先安装rabbitmq的服务器,然后执行rabbitmq服务器服务器就启动了。启动后,我们就可以配置我们的客户端程序了。首先看下我们的配置文件

spring.application.name: spirng-boot-rabbitmq      spring.rabbitmq.host: 127.0.0.1   spring.rabbitmq.port: 5672   spring.rabbitmq.username:客人   spring.rabbitmq.password:客人

配置了服务器的IP,端口,用户名,密码等基础信息,保证我们能连上服务器。

增加一个Rabbitmq的配置类

package  com.shuqi;   import  org.springframework.amqp.core.Queue;   import  org.springframework.context.annotation.Bean;   import  org.springframework.context.annotation.Configuration;      @ configuration   public  class  RabbitConfig  {   ,@ bean   public 才能;Queue 队列(),{   ,,,return  new 队列(“hello");   ,,}   }

创建了一个名称叫做你好的队列,然后生产商可以往你好的队列里放数据,消费者可以从喂的队列里消费数据。看下生产商的处理程序

package  com.shuqi.controller;      import  org.springframework.amqp.core.AmqpTemplate;   import  org.springframework.beans.factory.annotation.Autowired;   import  org.springframework.web.bind.annotation.RequestMapping;   import  org.springframework.web.bind.annotation.RequestParam;   import  org.springframework.web.bind.annotation.RestController;      @RestController   public  class  HelloController  {      @ autowired才能   private 才能;AmqpTemplate  rabbitTemplate;      @RequestMapping才能(“/hello")   public 才能;String 你好(@RequestParam  String 名称){   ,,,rabbitTemplate.convertAndSend (“hello",“hello “+名字);   ,,,return “消息发送成功“;   ,,}      }

通过控制器生产消息,通过AmqpTemplate发送消息。有了生产者我们看下消费者

package  com.shuqi.consumer;      import  lombok.extern.slf4j.Slf4j;   import  org.springframework.amqp.rabbit.annotation.RabbitHandler;   import  org.springframework.amqp.rabbit.annotation.RabbitListener;   import  org.springframework.stereotype.Component;      @ component   @RabbitListener (=queues “hello")   @Slf4j   public  class  HelloConsumer  {      @RabbitHandler才能   public 才能;void 过程(String 你好),{   ,,,log.info(“接收到的消息:信息:{}“,你好);   ,,}   }

@RabbitListener(队列=癶ello")表示是一个Rabbitmq的监听器,监听的队列名称是你好,说明数据可定会过来,数据过来了,通过@RabbitHandler修饰的方法来处理过来的数据。打印一下。下面我们启动项目看看效果。

在浏览器中输入http://localhost: 8080/你好吗?name=罗看到下面的结果

 rabbitmq如何在SpringBoot中应用“> </p> <p>看下控制台输出的日志</p> <blockquote> <p> 4987 16:24:32.752信息2018-03-25 - - - cTaskExecutor-1 com.shuqi.consumer。HelloConsumer:接收到的消息:信息:你好罗<br/> </p> </引用> <p class=上述内容就是rabbitmq如何在SpringBoot中应用,你们学到知识或技能了吗?如果还想学到更多技能或者丰富自己的知识储备,欢迎关注行业资讯频道。

rabbitmq如何在SpringBoot中应用