亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定

【金秋打卡】第14天 RabbitMQ消息中間件極速入門與實戰 04

標簽:
Java

课程信息:

- 课程名称:RabbitMQ消息中间件极速入门与实战

- 章节名称:第二章 RabbitMQ整合 SpringBoot 2 生产端发送消息

- 讲师姓名:阿神


课程内容:


 1. SpringBoot与RabbitMQ集成非常简单,不需要做任何的额外配置,只需要两步即可:

  • step1:引入相关依赖

  • step2:对application.properties进行配置

2. 新建SpringBoot项目:

配置相关依赖:

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

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

   <!-- https://mvnrepository.com/artifact/org.springframework.boot/spring-boot-starter-amqp -->
   <!-- RabbitMQ 相关依赖 -->
   <dependency>
      <groupId>org.springframework.boot</groupId>
      <artifactId>spring-boot-starter-amqp</artifactId>
      <version>2.7.2</version>
   </dependency>
   <dependency>
      <groupId>log4j</groupId>
      <artifactId>log4j</artifactId>
      <version>1.2.17</version>
   </dependency>
   <dependency>
      <groupId>javax.servlet</groupId>
      <artifactId>javax.servlet-api</artifactId>
      <version>4.0.1</version>
      <scope>provided</scope>
   </dependency>
   <dependency>
      <groupId>com.alibaba</groupId>
      <artifactId>fastjson</artifactId>
      <version>2.0.17</version>
   </dependency>
   <dependency>
      <groupId>commons-io</groupId>
      <artifactId>commons-io</artifactId>
      <version>2.6</version>
   </dependency>
   <dependency>
      <groupId>org.apache.commons</groupId>
      <artifactId>commons-lang3</artifactId>
   </dependency>
</dependencies>

编写配置文件:

spring.rabbitmq.addresses=127.0.0.1
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.virtual-host=/
spring.rabbitmq.connection-timeout=15000

# 服务相关
server.servlet.context-path=/
server.port=8001

server.servlet.encoding.charset=utf-8
spring.jackson.date-format=yyyy-MM-dd HH:mm:ss
spring.jackson.time-zone=GMT+8
spring.jackson.default-property-inclusion=NON_NULL

3. 建表

https://img1.sycdn.imooc.com//636a17f4000180a309510337.jpg

4. 编写实体类

这里一定要继承Serializable,是因为:Order类是通过网络传输到RabbitMQ上的。

package com.lcc.rabbitmq.entity;

import java.io.Serializable;

public class Order implements Serializable {
    
    private int id;
    private String name;
    private String messageId;  // 存储消息发送的唯一标识

    public Order() {
    }

    public Order(int id, String name, String messageId) {
        this.id = id;
        this.name = name;
        this.messageId = messageId;
    }

    public int getId() {
        return id;
    }

    public void setId(int id) {
        this.id = id;
    }

    public String getName() {
        return name;
    }

    public void setName(String name) {
        this.name = name;
    }

    public String getMessageId() {
        return messageId;
    }

    public void setMessageId(String messageId) {
        this.messageId = messageId;
    }
}

5. 发送消息

@Component
public class OrderSender {
    @Autowired
    private RabbitTemplate rabbitTemplate; //自动装配rabbitMQ 模板

    public void sendOrder (Order order) {
        rabbitTemplate.convertAndSend(
                "order-exchange", // exchange 交换机
                "order.abcd",    // routingKey
                order,   // 消息体内容
                new CorrelationData(order.getMessageId())  // correlationData 消息唯一ID
        );
    }
}

学习心得:

通过本次学习我了解了,RabbitMQ的一些基本操作,通过与SpringBoot整合可以很简单的实现RabbitMQ的功能。

课程截图:

https://img1.sycdn.imooc.com//636a15cf0001cfb612420728.jpg

https://img1.sycdn.imooc.com//636a1b470001583812170715.jpg


點擊查看更多內容
TA 點贊

若覺得本文不錯,就分享一下吧!

評論

作者其他優質文章

正在加載中
  • 推薦
  • 評論
  • 收藏
  • 共同學習,寫下你的評論
感謝您的支持,我會繼續努力的~
掃碼打賞,你說多少就多少
贊賞金額會直接到老師賬戶
支付方式
打開微信掃一掃,即可進行掃碼打賞哦
今天注冊有機會得

100積分直接送

付費專欄免費學

大額優惠券免費領

立即參與 放棄機會
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號

舉報

0/150
提交
取消