springboot整合rabbitmq(Springboot2.X)
admin
2023-06-26 19:02:03
0次

  一、整合前的准备

  1.1、安装windows/linux系统版本的rabbitmq。

  1.2、此次整合使用eclipse

  二、springboot整合rabbitmq

  2.1、pom依赖引入

  org.springframework.boot

  spring-boot-starter-amqp

  2.2、yml配置和configer文件编写

  spring:

  rabbitmq:

  host: 127.0.0.1

  port: 5672

  username: xiangjiao

  password: bunana

  virtual-host: /xiangjiao

  #publisher-confirms: true #消息发送到转发器确认机制,是都确认回调

  #publisher-returns: true

  import org.springframework.amqp.core.Binding;

  import org.springframework.amqp.core.BindingBuilder;

  import org.springframework.amqp.core.DirectExchange;

  import org.springframework.amqp.core.Queue;

  import org.springframework.context.annotation.Bean;

  import org.springframework.context.annotation.Configuration;

  @Configuration

  public class MQConfiguration {

  //队列名称

  public static final String QUEUQ_NAME = "xiangjiao.queue";

  //交换器名称

  public static final String EXCHANGE = "xiangjiao.exchange";

  //路由key

  public static final String ROUTING_KEY = "xiangjiao.routingKey";

  //创建队列

  @Bean

  public Queue getQueue(){

  return new Queue(QUEUQ_NAME);

  }

  //实例化交换机

  @Bean

  public DirectExchange getDirectExchange(){

  //DirectExchange(String name, boolean durable, boolean autoDelete)

  return new DirectExchange(EXCHANGE, true, true);

  }

  //绑定消息队列和交换机

  @Bean

  public Binding bindExchangeAndQueue(DirectExchange exchange,Queue queue){

  return BindingBuilder.bind(queue).to(exchange).with(ROUTING_KEY);

  }

  }

  2.3、消息消费者监听创建

  import org.springframework.amqp.rabbit.annotation.RabbitListener;

  import org.springframework.stereotype.Service;

  import cn.linkpower.config.MQConfiguration;

  @Service郑州人流医院 http://m.zzzy120.com/

  public class MessageConsumerService {

  @RabbitListener(queues=MQConfiguration.QUEUQ_NAME)

  public void receiveMessage(String msg){

  System.err.print("红色 接收消息----"+String.valueOf(msg));

  }

  }

  2.4、消息生产者

  2.4.1、创建消息生产者接口

  /**

  * 定义消息发送接口

  * @author 765199214

  *

  */

  public interface IMessageProductService {

  public void sendMessage(String msg);

  }

  2.4.2、创建消息消费者实现类

  import org.springframework.amqp.rabbit.core.RabbitTemplate;

  import org.springframework.beans.factory.annotation.Autowired;

  import org.springframework.stereotype.Service;

  import cn.linkpower.config.MQConfiguration;

  import cn.linkpower.service.IMessageProductService;

  @Service

  public class MessageProductServiceImpl implements IMessageProductService {

  @Autowired

  private RabbitTemplate rabbitTemplate;

  @Override

  public void sendMessage(String msg) {

  rabbitTemplate.convertAndSend(MQConfiguration.EXCHANGE,

  MQConfiguration.ROUTING_KEY,

  msg);

  }

  }

  2.5、创建控制器

  @RequestMapping("/sendMsg2")

  @ResponseBody

  public String sendMsg2(HttpServletRequest request){

  String msg = request.getParameter("msg");

  log.info("sendMsg --- msg--"+String.valueOf(msg));

  messageProductServiceImpl.sendMessage(msg);

  return "send ok";

  }

  三、测试

  控制台输出:

  

springboot整合rabbitmq(Springboot2.X)


相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...