springboot集成mq
时间: 2023-08-21 10:07:27 浏览: 109
Spring Boot集成MQ(消息队列)可以通过以下步骤进行配置和调用。
1. 导入依赖:在`pom.xml`文件中添加如下依赖:
```xml
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-amqp</artifactId>
<version>2.1.4.RELEASE</version>
</dependency>
```
2. 修改配置文件:在`application.properties`或`application.yml`中添加MQ的连接信息,例如:
```
spring.rabbitmq.host=192.168.3.10
spring.rabbitmq.port=5672
spring.rabbitmq.virtual-host=/
```
3. 创建配置类:创建一个配置类,例如`RabbitConfig.java`,用于配置消息转换器等相关信息。
```java
@Configuration
public class RabbitConfig {
@Bean
public MessageConverter messageConverter(){
return new Jackson2JsonMessageConverter();
}
}
```
4. 测试:可以进行一些简单的测试来验证配置是否正确,例如创建交换机和队列,并发送/接收消息。
4.1 管理类测试:可以通过`AmqpAdmin`进行交换机和队列的声明。
```java
@Autowired
AmqpAdmin amqpAdmin;
@Test
public void createExchange() {
DirectExchange directExchange = new DirectExchange("java.exchange", true, false);
amqpAdmin.declareExchange(directExchange);
}
@Test
public void createQueue() {
Queue queue = new Queue("java.queue", true, false, false);
amqpAdmin.declareQueue(queue);
}
```
4.2 消息发送与接收:可以使用`@RabbitListener`注解来监听指定队列的消息,并编写对应的处理方法。
```java
@RabbitListener(queues = {"java.queue"})
public void getMessage(Message message, OrderItemEntity orderItemEntity){
byte[] body = message.getBody();
System.out.println("接收到消息:" + message);
}
```
5. 拓展:可以通过修改配置文件和配置类来实现消息的可靠投递。
5.1 修改配置文件:可以开启发送端确认和消息抵达队列的确认,并配置手动ack消息。
```properties
# 开启发送端确认
spring.rabbitmq.publisher-confirms=true
# 开启发送端消息抵达队列的确认
spring.rabbitmq.publisher-returns=true
# 只要抵达队列,以异步发送优先回调我们这个returnConfirm
spring.rabbitmq.template.mandatory=true
# 手动ack消息
spring.rabbitmq.listener.simple.acknowledge-mode=manual
```
5.2 修改配置类:可以添加发送消息的回调方法来处理发送消息的确认和返回结果。
这样,就完成了Spring Boot集成MQ的配置和使用。<span class="em">1</span><span class="em">2</span><span class="em">3</span>
#### 引用[.reference_title]
- *1* [springboot-集成MQ](https://download.csdn.net/download/tao724624173/10657288)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
- *2* *3* [springboot整合MQ](https://blog.csdn.net/weixin_45865428/article/details/123199733)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v93^chatsearchT3_2"}}] [.reference_item style="max-width: 50%"]
[ .reference_list ]
阅读全文