RabbitMQ整合SpringCloud
最终我们的消息中间件是要运用到项目中去的,就拿下完订单之后要发送短信这个来距离,我们最终的目的就是要实现下订单和发短信的异步处理,短信的发送成功与否不影响订单的运行
我们今天最终整合完的流程就是这样的,只不过今天只是一个简单案例,没有搭建eureka
rabbitmq-common、rabbitmq-springcloud-consumer、rabbitmq-springcloud-producer
今天我们在父工程下需要新建的3个项目
rabbitmq-common主要就是存放公共代码,今天这里只有一个实体类
Order
package com.xy.rabbitmqcommon.entity;
import java.io.Serializable;
public class Order implements Serializable {
private String id;
private String name;
public Order() {
}
public Order(String id, String name) {
super();
this.id = id;
this.name = name;
}
public String getId() {
return id;
}
public void setId(String id) {
this.id = id;
}
public String getName() {
return name;
}
public void setName(String name) {
this.name = name;
}
}
rabbitmq-springcloud-consumer模拟我们的消费者,消费信息
pom依赖
<?xml version="1.0" encoding="UTF-8"?>
<project xmlns="http://maven.apache.org/POM/4.0.0" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
xsi:schemaLocation="http://maven.apache.org/POM/4.0.0 https://maven.apache.org/xsd/maven-4.0.0.xsd">
<modelVersion>4.0.0</modelVersion>
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.2.1.RELEASE</version>
<relativePath/> <!-- lookup parent from repository -->
</parent>
<groupId>com.xy</groupId>
<artifactId>rabbitmq-springcloud-consumer</artifactId>
<version>0.0.1-SNAPSHOT</version>
<name>rabbitmq-springcloud-consumer</name>
<description>Demo project for Spring Boot</description>
<properties>
<java.version>1.8</java.version>
</properties>
<dependencies>
<dependency>
<groupId>com.xy</groupId>
<artifactId>rabbitmq-common</artifactId>
<version>0.0.1-SNAPSHOT</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter</artifactId>
</dependency>
<dependency>
<groupId>org.projectlombok</groupId>
<artifactId>lombok</artifactId>
<optional>true</optional>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-test</artifactId>
<scope>test</scope>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId