rabbit mq轻松实现并发消费

RabbitMq实现并发消费

      • 源码部分解析
        • 声明监听工厂
          • 监听器配置
            • 参考链接

源码部分解析

关于源码剖析

声明监听工厂

主要配置两个参数 PrefetchCount 预取数量 ConcurrentConsumers消费者数量

 @Bean("pointTaskContainerFactory")
    public SimpleRabbitListenerContainerFactory pointTaskContainerFactory(SimpleRabbitListenerContainerFactoryConfigurer configurer, ConnectionFactory connectionFactory) {
        SimpleRabbitListenerContainerFactory factory = new SimpleRabbitListenerContainerFactory();
        factory.setPrefetchCount(2); #每个消费者预取数量
        factory.setConcurrentConsumers(60); #并发消费者数量
        configurer.configure(factory, connectionFactory);
        return factory;
    }
监听器配置

主要将 containerFactory 设置为我们前面声明的监听工厂即可

	@RabbitHandler
    @RabbitListener(queues = QueueContent.MESSAGE_QUEUE_NAME,containerFactory = "pointTaskContainerFactory")
    public void handler(String msg,Channel channel, Message message) throws IOException {
			......相关逻辑
    }

参考链接

源码链接
参考链接
扩展延时队列链接

你可能感兴趣的:(rabbitmq)