Sobes.tech
Назад к вопросам
Junior — Middle
71

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

Компании, где спрашивали
СБЕРСБЕР

Ответ от нейросети

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.