Встречается на собеседованиях • сегодня

Как создать ExecutorService в Spring

В Spring можно создать ExecutorService через конфигурацию бина. Лучше использовать ThreadPoolTaskExecutor из Spring, а не напрямую Executors, так как это даёт больше контроля и интеграцию с Spring.

java
@Configuration
public class AsyncConfig {

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

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

java
@Service
public class MyService {

    @Autowired
    @Qualifier("taskExecutor")
    private Executor executor;

    public void asyncTask() {
        executor.execute(() -> {
            // логика асинхронной задачи
        });
    }
}

Для асинхронных методов можно использовать @Async:

java
@Async("taskExecutor")
public void asyncMethod() {
    // логика метода
}
Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

Следующий вопрос

Это единственный вопрос по вашему фильтру

как отвечать на вопрос
пример собеседования
фреймворки на собеседовании
типичные вопросы junior
интервью вопросы и ответы