From 642713daeb3c6776c183a47c5a31d576d99e93df Mon Sep 17 00:00:00 2001 From: simon <861719797@qq.com> Date: Tue, 26 Sep 2023 16:18:26 +0800 Subject: [PATCH] =?UTF-8?q?MQ=E9=85=8D=E7=BD=AE=E8=B0=83=E8=AF=95?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../api/config/TopicRabbitListenerConfig.java | 28 +++++++++++++++++++ .../iot/user/api/listener/YunxiListener.java | 2 +- 2 files changed, 29 insertions(+), 1 deletion(-) create mode 100644 iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/config/TopicRabbitListenerConfig.java diff --git a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/config/TopicRabbitListenerConfig.java b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/config/TopicRabbitListenerConfig.java new file mode 100644 index 0000000..f27641e --- /dev/null +++ b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/config/TopicRabbitListenerConfig.java @@ -0,0 +1,28 @@ +package com.qiuguo.iot.user.api.config; + +import org.springframework.amqp.rabbit.connection.ConnectionFactory; + +import org.springframework.amqp.rabbit.listener.SimpleMessageListenerContainer; +import org.springframework.context.annotation.Bean; +import org.springframework.context.annotation.Configuration; +import org.springframework.amqp.rabbit.config.SimpleRabbitListenerContainerFactory; + + +/** + * @author simon + * @date 2023/9/26 + * @description + **/ +@Configuration +public class TopicRabbitListenerConfig { + @Bean + public SimpleRabbitListenerContainerFactory simpleRabbitListenerContainerFactory(ConnectionFactory connectionFactory) { + // 配置消息监听容器工厂 + SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory(); + factory.setConnectionFactory(connectionFactory); + factory.setConcurrentConsumers(3); // 并发消费者数量 + factory.setMaxConcurrentConsumers(10); // 最大并发消费者数量 + factory.setPrefetchCount(1); // 每个消费者的消息预取数量 + return factory; + } +} diff --git a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/listener/YunxiListener.java b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/listener/YunxiListener.java index ceb3c1b..2e1e508 100644 --- a/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/listener/YunxiListener.java +++ b/iot-modules/iot-box-user-api/src/main/java/com/qiuguo/iot/user/api/listener/YunxiListener.java @@ -18,7 +18,7 @@ import java.io.IOException; @Component @Slf4j public class YunxiListener { - @RabbitListener(queues = YunxiRabbitConst.QUEUE_YUNXI) + @RabbitListener(queues = YunxiRabbitConst.QUEUE_YUNXI, containerFactory = "simpleRabbitListenerContainerFactory") public void processYunxiQueue(Channel channel, Message message) throws IOException { String messageContent = new String(message.getBody(), "UTF-8"); System.out.println("YunxiListener msg " + messageContent);