91超碰碰碰碰久久久久久综合_超碰av人澡人澡人澡人澡人掠_国产黄大片在线观看画质优化_txt小说免费全本

溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點擊 登錄注冊 即表示同意《億速云用戶服務條款》

rabbitmq如何在SpringBoot中應用

發布時間:2021-04-09 16:54:13 來源:億速云 閱讀:120 作者:Leah 欄目:編程語言

本篇文章為大家展示了rabbitmq如何在SpringBoot中應用,內容簡明扼要并且容易理解,絕對能使你眼前一亮,通過這篇文章的詳細介紹希望你能有所收獲。

<dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-web</artifactId>
    </dependency>

    <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-amqp</artifactId>
    </dependency>

    <dependency>
      <groupId>org.projectlombok</groupId>
      <artifactId>lombok</artifactId>
    </dependency>

AMQP,即Advanced Message Queuing Protocol,一個提供統一消息服務的應用層標準高級消息隊列協議,是應用層協議的一個開放標準,為面向消息的中間件設計。基于此協議的客戶端與消息中間件可傳遞消息,并不受客戶端/中間件不同產品,不同的開發語言等條件的限制,spring-boot-starter-amqp引入的就是rabbitmq。有個前提,你的機子上要首先先安裝rabbitmq的server,然后執行 rabbitmq-server server就啟動了。啟動后,我們就可以配置我們的客戶端程序了。首先看下我們的配置文件

spring.application.name: spirng-boot-rabbitmq

spring.rabbitmq.host: 127.0.0.1
spring.rabbitmq.port: 5672
spring.rabbitmq.username: guest
spring.rabbitmq.password: guest

配置了服務器的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 Queue() {
    return new Queue("hello");
  }
}

創建了一個名稱叫做hello的隊列,然后producer可以往hello的隊列里放數據,consumer可以從hello的隊列里消費數據。看下producer的處理程序

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 hello(@RequestParam String name){
    rabbitTemplate.convertAndSend("hello","hello "+name);
    return "消息發送成功";
  }

}

通過controller生產消息,通過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 process(String hello) {
    log.info("接收到的消息:message:{}",hello);
  }
}

@RabbitListener(queues = "hello") 表示是一個Rabbitmq的監聽器,監聽的隊列名稱是hello,說明數據可定會過來,數據過來了,通過 @RabbitHandler 修飾的方法來處理過來的數據。打印一下。下面我們啟動項目看看效果。

在瀏覽器中輸入 http://localhost:8080/hello?name=shuqi 看到下面的結果

rabbitmq如何在SpringBoot中應用

看下控制臺輸出的日志

2018-03-25 16:24:32.752 INFO 4987 --- [cTaskExecutor-1] com.shuqi.consumer.HelloConsumer : 接收到的消息:message:hello shuqi

上述內容就是rabbitmq如何在SpringBoot中應用,你們學到知識或技能了嗎?如果還想學到更多技能或者豐富自己的知識儲備,歡迎關注億速云行業資訊頻道。

向AI問一下細節

免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。

AI

府谷县| 锡林郭勒盟| 荣昌县| 广德县| 石景山区| 如东县| 南昌县| 讷河市| 林芝县| 鹤壁市| 民丰县| 抚松县| 武陟县| 攀枝花市| 拜城县| 兴和县| 岳西县| 双牌县| 威远县| 师宗县| 大关县| 汶川县| 华蓥市| 淳化县| 泰和县| 景德镇市| 翼城县| 高邑县| 海南省| 许昌县| 北京市| 安阳市| 克山县| 吉隆县| 四子王旗| 桐梓县| 鸡西市| 清丰县| 泾阳县| 苗栗市| 南昌市|