SpringBoot——SpringBoot整合RabbitMQ(上)「建议收藏」

SpringBoot——SpringBoot整合RabbitMQ(上)「建议收藏」SpringBoot——SpringBoot整合RabbitMQ(上)

大家好,又见面了,我是你们的朋友全栈君。

首先需要搭建一个RabbitMQ的服务,我是在docker跑了一个rabbitMQ的服务,

docker的命令语句

 docker run --name rabbit -P -d rabbitmq:3-management

映射出来的端口号如下图

SpringBoot——SpringBoot整合RabbitMQ(上)「建议收藏」

rabbitMQ这里我就不多讲了,直接上代码

1.首先需要创建SpringBoot项目,添加pom依赖。

创建SpringBoot项目在之前的博客中我已经讲过了下面是链接,大家可以看一下

https://blog.csdn.net/lp840312696/article/details/82392231

需要在创建好的SpringBoot项目中添加rabbitMQ的pom依赖

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

2.向application.properties文件中添加配置

 #rabbitMQ的 5672 端口
spring.rabbitmq.addresses=192.168.31.199:32771
#用户名密码
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
spring.rabbitmq.virtual-host=/
spring.rabbitmq.connection-timeout=15000

3.创建实体对象

如果大家没有@Data注解,需要创建属性的get和set方法。

 package com.youyou.entity;

import lombok.Data;

import java.io.Serializable;

@Data
public class Order implements Serializable {

    private String id;

    private String name;

    private String messageId;

}

注意:一定要实现Serializable接口

4.创建向rabbitMQ中发送数据的类(核心)

 package com.youyou.producer;

import com.youyou.entity.Order;
import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.amqp.rabbit.support.CorrelationData;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Component;

/**
 * 发送订单的类
 */
@Component
public class OrderSend {

    @Autowired
    private RabbitTemplate rabbitTemplate;

    public void send (Order order) throws Exception{
        CorrelationData correlationData = new CorrelationData();
        correlationData.setId(order.getMessageId());

        rabbitTemplate.convertAndSend("order-exchange" //交换机
                ,"order.abc"  //路由键
                ,order  //发送数据
                ,correlationData);  //消息唯一id
    }

}

5.配置rabbitMQ的交换机和路由键

添加 一个rabbitMQ交换机

SpringBoot——SpringBoot整合RabbitMQ(上)「建议收藏」

添加rabbitMQ队列

SpringBoot——SpringBoot整合RabbitMQ(上)「建议收藏」

到目前为止rabbitMQ的配置整合已经完成。就是这么简单

6.测试

 package com.youyou.worldmq;

import com.youyou.entity.Order;
import com.youyou.producer.OrderSend;
import org.junit.Test;
import org.junit.runner.RunWith;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.boot.test.context.SpringBootTest;
import org.springframework.test.context.junit4.SpringRunner;

import java.util.UUID;

@RunWith(SpringRunner.class)
@SpringBootTest
public class MQApplicationTests {
    
    @Autowired
    private OrderSend orderSend;
    @Test
    public void send() throws Exception {
        Order order = new Order();
        order.setId("2018100100001");
        order.setName("测试订单");
        order.setMessageId(System.currentTimeMillis()+"$" + UUID.randomUUID().toString());

        orderSend.send(order);
    }

}

执行之后可以在rabbitMQ中看到是否收到数据

SpringBoot——SpringBoot整合RabbitMQ(上)「建议收藏」

我这里是一共发了两条。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 举报,一经查实,本站将立刻删除。

发布者:全栈程序员-用户IM,转载请注明出处:https://javaforall.cn/106470.html原文链接:https://javaforall.cn

【正版授权,激活自己账号】: Jetbrains全家桶Ide使用,1年售后保障,每天仅需1毛

【官方授权 正版激活】: 官方授权 正版激活 支持Jetbrains家族下所有IDE 使用个人JB账号...

(0)


相关推荐

  • JavaScript Array splice() 方法

    JavaScript Array splice() 方法语法array.splice(index,howmany,item1,…..,itemX)实例在位置2,添加新项目,并删除1个项目:varfruits=[“Banana”,”Orange”,”Apple”,”Mango”];fruits.splice(2,1,”Lemon”,”Kiwi”);在位置2,添加新项目varfruits=[“Banana”,”Orange”,”Apple”,”Mango”];fruits.s.

  • Yarn 安装与使用详细介绍「建议收藏」

    Yarn 安装与使用详细介绍「建议收藏」背景什么是Yarn速度快离线模式可靠可确定性网络优化扁平化模式版本控制其他关于Yarn的介绍Yarn安装windowsmac方式一方式二Yarn换源背景在Node生态系统中,依赖通常安装在项目的node_modules文件夹中。然而,这个文件的结构和实际依赖树可能有所区别,因为重复的依赖可以合并到一起。npm客户端把依…

  • HikariPool-1 – Connection is not available, request timed out after 30000ms.

    HikariPool-1 – Connection is not available, request timed out after 30000ms.HikariPool是号称史上最快的数据库连接池,而且目前来看确实是这样的,SpringBoot2.0也已经采用HikariCP作为默认连接池配置.近期项目也将druid切成了HikariPool,但HikariPool仍然不够稳定,经常出现获取不到数据库连接,连接数不够的问题尝试修改HikariPool连接池配置,增大最大连接数,MaximumPoolSize由30改为100…

  • 时间协议ntp服务器,时间服务器NTP搭建及NTP协议简介

    NTP协议简介目前在计算机上同步时间采用的NTP协议,我们可以在局域网中搭建NTP服务器来同步时间。NTP(NetworkTimeProtocol)是用来是计算机时间同步化的一种协议,他可以使计算机对其服务器或时钟源(如石英钟、GPS)做同步化,可以提供高精准度的时间校正。NTP可以通过原子钟、天文台、卫星等渠道获得精准时间,然后再按照NTP服务器等级进行传播。NTP的网络结构是分层管理的类树…

  • ansi编码是什么意思_编码ANSI

    ansi编码是什么意思_编码ANSIANSI就是其他外文编码,且不同国家和地区的ANSI各有不同,即不兼容。举例,在中文简体下,你如果想编码表,保存时

  • 【FPGA——工具篇】:Modelsim SE-64 10.4下载、破解、安装过程

    【FPGA——工具篇】:Modelsim SE-64 10.4下载、破解、安装过程ModelsimSE-6410.4破解安装过程百度云链接:https://pan.baidu.com/s/1ONbjNLajFKzHDJ9bs4gz6Q密码:by0p压缩包解压密码:Lily_9 ①执行软件的正常安装程序.exe,点点我同意神马的….(需要重启一次)②在软件安装目录中找到mgls64.dll文件,右键文件属性取消只读属性。mgls64.dll文件的默认路径…

发表回复

您的电子邮箱地址不会被公开。

关注全栈程序员社区公众号