SpringBoot整合RabbitMQ入门~~
Posted 赵新0305
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了SpringBoot整合RabbitMQ入门~~相关的知识,希望对你有一定的参考价值。
SpringBoot整合RabbitMQ 入门2020-01-12
创建生产者类,并且在yml配置文件中配置5要素连接MQ
yml配置文件
spring:
rabbitmq:
host: xx.xx.xx.xx
port: 5672
virtual-host: /
username: 默认guest
password: 默认guest
编写生产者代码
使用@Configuration 表名它是配置类
再类中声明三要素
//交换机名称
@Bean("itemTopicExchange")
public Exchange topicExchange(){
return ExchangeBuilder.topicExchange(交换机名称).durable(true).build();
}
//队列名称
@Bean("itemQueue")
public Queue itemQueue(){
return QueueBuilder.durable(队列名称).build();
}
//绑定交换机和队列
@Bean
public Binding itemQueueExchange(@Qualifier("队列id") Queue queue,@Qualifier("交换机id") Exchange exchange){
return BindingBuilder.bind(队列).to(交换机).with("item.#").noargs();
}
编写一个发送消息的测试类
@RunWith(SpringRunner.class) @SpringBootTest public class Test { /* * 测试类,测试发送消息是否成功 * */ @Autowired private RabbitTemplate template; @org.junit.Test public void test() { template.convertAndSend(TestProducer.EXCHANGE_TEST, "test.hh", "你好呀~~~~"); } }
来测试声明的交换机和队列是否绑定,能否正常的发送消息
http://xx.xx.xx.xx:15672/#/queues 访问mq的服务,查看消息是否存入到队列中
接下来编写消费方,只需要编写一个消息接听类,用来监听队列中未被消费的消息,运行启动类即可
/* * 监听队列消息 * */ @Component public class MyListener { @RabbitListener(queues ="test_queue") public void test1(String message){ System.out.println("队列中的消息是"+message); } }
以上是关于SpringBoot整合RabbitMQ入门~~的主要内容,如果未能解决你的问题,请参考以下文章
SpringBoot整合RabbitMQ(2021.05.29)
SpringBoot整合RabbitMQ(2021.05.29)