栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

rabbitMq整合springboot的使用流程

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

rabbitMq整合springboot的使用流程

1.安装rabbitmq
  • 使用docker 的方式创建rabbitMq
#创建容器启动
docker run -d --restart=always -p 5672:5672 -p 15672:15672 --name rabbitmq rabbitmq:3.8-management
  • 访问rabbitMq管理后台
管理后台:http://IP:15672

2.创建rabbitmq发送消息模块(这里我们在mq的消费端进行交换机和队列的创建)
  • 创建模块
  • 导入依赖

    
    
        org.springframework.cloud
        spring-cloud-starter-bus-amqp
    

3.添加Service方法(发送消息的方法)
@Service  //交由spring容器管理
public class RabbitService {
    @Autowired
    private RabbitTemplate rabbitTemplate;
    
    public boolean sendMessage(String exchange, String routingKey, Object message) {
        rabbitTemplate.convertAndSend(exchange, routingKey, message);
        return true;
    }
}
4.配置mq的消息转换器
  • 配置的原因:Spring会把你发送的消息序列化为字节发送给MQ,接收消息的时候,还会把字节反序列化为Java对象。
    不过,默认情况下Spring采用的序列化方式是JDK序列化。众所周知,JDK序列化存在下列问题:
    1.数据体积过大
    2.有安全漏洞
    3.可读性差
  • 作用:显然,JDK序列化方式并不合适。我们希望消息体的体积更小、可读性更高,因此可以使用JSON方式来做序列化和反序列化。
@Configuration
public class MQConfig {
    @Bean
    public MessageConverter messageConverter(){
        return new Jackson2JsonMessageConverter();
    }
}
5.需要使用mq发送消息的模块可以依赖此模块,扫描类,在需要使用的地方注入RabbitService调用其方法.需要配置rabbitmq的连接信息.
 
#rabbitmq地址
spring.rabbitmq.host=192.168.44.165
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
6.rabbitmq的消费端配置
  • 在消费端模块创建监听器
@Component
public class RbListener {

   
    @RabbitListener(bindings = {@QueueBinding(exchange = @Exchange(name = MqConst.EXCHANGE_DIRECT_ORDER),value =@Queue(name =MqConst.QUEUE_ORDER),key = MqConst.ROUTING_ORDER)})
    public void consume(OrderMqVo orderMqVo, Message message, Channel channel){
        System.out.println("orderMqVo = " + orderMqVo);
    }
}
  • 消费端也需要配置rabbitmq的连接信息
#rabbitmq地址
spring.rabbitmq.host=192.168.44.165
spring.rabbitmq.port=5672
spring.rabbitmq.username=guest
spring.rabbitmq.password=guest
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/865813.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号