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)


相关内容

热门资讯

探秘“城市生命线”背后,上海国... 来源:滚动播报 (来源:上观新闻) 906公里运营线路长度、工作日日均客流量达1100万乘次——庞...
美国防长香会讲话:对华降调维稳... 【文/观察者网 王一】第23届香格里拉对话会5月29日至31日在新加坡举行。该会议由英国国际战略研究...
OPPO Reno16 Pro... 对于预算在4000元左右,正在寻找一款高性价比的学生党、大学生或高三毕业生来说,市面上琳琅满目的机型...
中科创达副总裁杨新辉:推动传统... 本报记者 袁传玺 5月29日下午,2026证券市场年会行业分会数字经济大会在北京举行。此次大会由《证...
重庆:将人工智能深度嵌入科研全... 中国教育报-中国教育新闻网讯(记者 杨国良)5月28日,2026年重庆市教育科研工作会议传出新信号:...
“罕见会晤”,美国与古巴两军高... 据凤凰卫视报道,美军南方司令部5月29日在社交平台发布消息和相片,指南方司令部司令多诺万,当天在位于...
美民调:超半数美国人称生活成本... 据凤凰卫视报道,美国政治新闻网5月29日公布的最新民调显示,美国选民仍然不满意总统特朗普的经济政策,...
燃气灶开关无法控制怎么办 燃气灶开关无法控制,这是一种非常危险的情况。这种情况可能会导致燃气泄漏和火灾等严重后果。如果您遇到这...
为什么海尔冰箱冷冻室温度显示一... 这种情况表示的是超温报警灯亮了。也就是说冰箱的冷冻室温度没有降下去,冷冻室温度降到零下8度左右就自动...
西门子冰箱冷冻室温度一直闪烁是... 1、有可能是因为操作不当导致的情况;2、有可能是西门子冰箱显示屏的供电电源或显示屏本身的故障。 ...