源码部分解析
声明监听工厂
主要配置两个参数 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 {
......相关逻辑
}