RabbitMQ初体验之彤医通项目应用场景

Posted 程序彤

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ初体验之彤医通项目应用场景相关的知识,希望对你有一定的参考价值。

mac下安装rabbitMQ

https://www.jianshu.com/p/e9736212adc7
访问localhost:15671。账号密码均为guest

应用场景

预约挂号后减少号源。
商品处理订单后减少库存。
短信发送。

特点:

异步处理
流量削峰
日志处理
应用解耦

springboot整合rabbitMQ

  1. 引入maven依赖
	<dependencies>
<!--        rabbitmq消息队列-->
        <dependency>
            <groupId>org.springframework.boot</groupId>
            <artifactId>spring-boot-starter-actuator</artifactId>
        </dependency>
        <dependency>
            <groupId>org.springframework.cloud</groupId>
            <artifactId>spring-cloud-starter-bus-amqp</artifactId>
        </dependency>
        <dependency>
            <groupId>com.alibaba</groupId>
            <artifactId>fastjson</artifactId>
        </dependency>
    </dependencies>
  1. 创建service编写发送sendMessage方法
package com.lwt.common.rabbit.service;

import org.springframework.amqp.rabbit.core.RabbitTemplate;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

@Service
public class RabbitService {
    @Autowired
    private RabbitTemplate rabbitTemplate;

    /**
     *
     * @param exchange 交换机
     * @param routingKey 路由键
     * @param message 消息
     * @return
     */
    public boolean sendMessage(String exchange,String routingKey,Object message){
        rabbitTemplate.convertAndSend(exchange,routingKey,message);
        return true;
    }
}

  1. 创建@Configuration配置类,创建默认的json字符串转换器
package com.lwt.common.rabbit.config;

import org.springframework.amqp.support.converter.Jackson2JsonMessageConverter;
import org.springframework.amqp.support.converter.MessageConverter;
import org.springframework.context.annotation.Bean;
import org.springframework.context.annotation.Configuration;

@Configuration
public class MQConfig {
    @Bean
    public MessageConverter messageConverter(){
        return new Jackson2JsonMessageConverter(); // 默认json字符串转换器
    }
}

以上是关于RabbitMQ初体验之彤医通项目应用场景的主要内容,如果未能解决你的问题,请参考以下文章

彤医通项目cmn数据字典redis密码auth问题(同样适用ershoumall)

彤医通前端环境npm遇到的重要问题解决方法

尚医通大型分布式微服务医疗项目实战 前后端分离

RabbitMQ 初体验

vs code初体验

Java开发 - 消息队列之RabbitMQ初体验