• 博客园logo
  • 会员
  • 周边
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
毛逢芳
博客园    首页    新随笔    联系   管理    订阅  订阅

RabbitMQ-SpringBoot整合RabbitMQ

一、生产者

1、配置文件application.yml

spring:
rabbitmq:
host: 127.0.0.1
port: 5672
username: guest
password: guest
virtual-host: /

2、配置类

@Configuration
public class RabbitMQConfig {
public static final String EXCHANGE_NAME = "m_exchange";
public static final String QUEUE_NAME = "m_queue";

/**
* 交换机
* @return
*/
@Bean("mExchange")
public Exchange mExchange(){
return ExchangeBuilder.topicExchange(EXCHANGE_NAME).durable(true).build();
}

/**
* 队列
* @return
*/
@Bean("mQueue")
public Queue mQueue(){
return QueueBuilder.durable(QUEUE_NAME).build();
}

/**
* 绑定交换机和队列
* @param exchange
* @param queue
* @return
*/
@Bean
public Binding mBinding(@Qualifier("mExchange") Exchange exchange,@Qualifier("mQueue") Queue queue){
return BindingBuilder.bind(queue).to(exchange).with("myx.#").noargs();
}
}

3、调用RabbitTemplate发送消息

@RunWith(SpringRunner.class)
@SpringBootTest
public class ProducerTest {
//注入RabbitTemplate
@Autowired
private RabbitTemplate rabbitTemplate;

@Test
public void sendTest(){
rabbitTemplate.convertAndSend(RabbitMQConfig.EXCHANGE_NAME,"myx.hello","你好!RabbitMQ");
}
}

二、消费者

1、配置文件,同上

2、RabbitListener接收消息

@Component
public class RabbitMQListener {
@RabbitListener(queues = "m_queue")
public void mQueueListener(Message message){
System.out.println(message);
System.out.println(new String(message.getBody()));
}
}

3、运行结果

(Body:'你好!RabbitMQ' MessageProperties [headers={}, contentType=text/plain, contentEncoding=UTF-8, contentLength=0, receivedDeliveryMode=PERSISTENT, priority=0, redelivered=false, receivedExchange=m_exchange, receivedRoutingKey=myx.hello, deliveryTag=1, consumerTag=amq.ctag-_z-LCEXYGpAhw-spYrRsyg, consumerQueue=m_queue])
你好!RabbitMQ

posted @ 2020-11-18 10:47  那棵tree看起来生气了  阅读(142)  评论(0)    收藏  举报
刷新页面返回顶部
博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3