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

Какие знаешь способы обработки задач в фоне асинхронно в Spring

В Spring есть несколько способов для асинхронной обработки задач:

  1. @Async - аннотация для методов, которые будут выполняться в отдельном потоке:
java
@Service
public class MyService {
    @Async
    public void asyncMethod() {
        // Логика
    }
}
  1. Scheduled tasks - выполнение по расписанию:
java
@Scheduled(fixedRate = 5000)
public void scheduledTask() {
    // Логика каждые 5 сек
}
  1. ApplicationEventPublisher - события:
java
@Component
public class MyPublisher {
    @Autowired
    private ApplicationEventPublisher publisher;

    public void publishEvent() {
        publisher.publishEvent(new MyEvent(this, data));
    }
}
  1. Spring Integration - для сложных потоков обработки

  2. RabbitMQ/Kafka - через брокеры сообщений

Для @Async нужно включить поддержку через @EnableAsync. По умолчанию используется SimpleAsyncTaskExecutor, но можно настроить свой ThreadPoolTaskExecutor.

Sophi
Софи собрала все вопросы. Тренируйся и получай
офферы быстрее!
Попробовать бесплатноArrow

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

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

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