| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- package com.fdkankan.scene.download.config;
- import java.util.concurrent.Executor;
- import java.util.concurrent.ExecutorCompletionService;
- import org.springframework.context.annotation.Bean;
- import org.springframework.context.annotation.Configuration;
- import org.springframework.http.client.ClientHttpRequestFactory;
- import org.springframework.http.client.SimpleClientHttpRequestFactory;
- import org.springframework.scheduling.annotation.EnableAsync;
- import org.springframework.scheduling.concurrent.ThreadPoolTaskExecutor;
- import org.springframework.web.client.RestTemplate;
- /**
- * <p>
- * TODO
- * </p>
- *
- * @author dengsixing
- * @since 2022/2/22
- **/
- @Configuration
- public class TaskPoolConfig {
- @Bean("sceneDownLoadExecutror")
- public ThreadPoolTaskExecutor sceneDownLoadExecutror(){
- ThreadPoolTaskExecutor taskExecutor = new ThreadPoolTaskExecutor();
- taskExecutor.setCorePoolSize(3);
- taskExecutor.setMaxPoolSize(3);
- taskExecutor.setQueueCapacity(3);
- taskExecutor.setKeepAliveSeconds(60);
- taskExecutor.setThreadNamePrefix("sceneDownLoadThread--");
- taskExecutor.setWaitForTasksToCompleteOnShutdown(true);
- taskExecutor.setAwaitTerminationSeconds(60);
- return taskExecutor;
- }
- // @Bean
- // public ExecutorCompletionService completionService(ThreadPoolTaskExecutor sceneDownLoadExecutror){
- // return new ExecutorCompletionService<Integer>(sceneDownLoadExecutror);
- // }
- @Bean
- public RestTemplate restTemplate(ClientHttpRequestFactory factory) {
- return new RestTemplate(factory);
- }
- @Bean
- public ClientHttpRequestFactory simpleClientHttpRequestFactory() {
- SimpleClientHttpRequestFactory factory = new SimpleClientHttpRequestFactory();
- factory.setReadTimeout(5000);//ms
- factory.setConnectTimeout(15000);//ms
- return factory;
- }
- }
|