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

【金秋打卡】第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下载
官方微信

举报

0/150
提交
取消