You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
47 lines
1.6 KiB
47 lines
1.6 KiB
package com.mashibing.config;
|
|
|
|
import org.springframework.amqp.rabbit.config.AbstractRabbitListenerContainerFactory;
|
|
import org.springframework.amqp.rabbit.config.DirectRabbitListenerContainerFactory;
|
|
import org.springframework.amqp.rabbit.connection.AbstractConnectionFactory;
|
|
import org.springframework.amqp.rabbit.connection.ConnectionFactory;
|
|
import org.springframework.context.annotation.Bean;
|
|
import org.springframework.context.annotation.Configuration;
|
|
import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
|
|
|
|
/**
|
|
* @author zjw
|
|
* @description
|
|
*/
|
|
@Configuration
|
|
public class RabbitMQThreadPoolConfig {
|
|
|
|
/**
|
|
* 构建消费者要用到的线程
|
|
* @return
|
|
*/
|
|
@Bean
|
|
public ThreadPoolTaskExecutor rabbitThreadPool(){
|
|
ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
|
|
executor.setCorePoolSize(5);
|
|
executor.setMaxPoolSize(5);
|
|
executor.setQueueCapacity(100);
|
|
executor.setThreadNamePrefix("rabbit-");
|
|
return executor;
|
|
}
|
|
|
|
/**
|
|
* 构建容器工厂,将线程池设置进入
|
|
* @param connectionFactory
|
|
* @return
|
|
*/
|
|
@Bean
|
|
public AbstractRabbitListenerContainerFactory<?> defaultContainerFactory(ThreadPoolTaskExecutor rabbitThreadPool,
|
|
AbstractConnectionFactory connectionFactory){
|
|
DirectRabbitListenerContainerFactory factory = new DirectRabbitListenerContainerFactory();
|
|
factory.setConnectionFactory(connectionFactory);
|
|
connectionFactory.setExecutor(rabbitThreadPool);
|
|
return factory;
|
|
}
|
|
|
|
}
|