Sobes.tech
Back to questions
Junior — Middle
72

Каким образом можно внедрить и настроить ExecutorService в приложении на базе Spring?

Companies where asked
СБЕРСБЕР

Answer from AI

sobes.tech AI

В Spring для внедрения и настройки ExecutorService можно использовать аннотацию @EnableAsync и конфигурацию бина типа ThreadPoolTaskExecutor.

Пример настройки:

@Configuration
@EnableAsync
public class AsyncConfig {

    @Bean(name = "taskExecutor")
    public Executor taskExecutor() {
        ThreadPoolTaskExecutor executor = new ThreadPoolTaskExecutor();
        executor.setCorePoolSize(5);
        executor.setMaxPoolSize(10);
        executor.setQueueCapacity(25);
        executor.setThreadNamePrefix("MyExecutor-");
        executor.initialize();
        return executor;
    }
}

Использование в сервисе:

@Service
public class MyService {

    @Async("taskExecutor")
    public void asyncMethod() {
        // асинхронная логика
    }
}

Таким образом, Spring управляет пулом потоков, и вы можете легко конфигурировать параметры ExecutorService.