Современный бэкенд — рефакторинг параллельной обработки (2)

Современный бэкенд — рефакторинг параллельной обработки (2)

Это вторая лекция пятого занятия Части 1 курса [Modern Backend] под названием «Рефакторинг параллельных вызовов API (2)».
На этой лекции мы проведём сессию живого кодирования, в ходе которой напишем и протестируем фактический код проекта доски объявлений на основе архитектуры структурированной конкурентности (StructuredTaskScope), разработанной на предыдущем занятии.


📌 Основные темы обучения:

  • Проверка ограничений и поведения существующего тестового кода на основе CompletableFuture

  • Отключение и включение preview-опции Java 25 (--enable-preview) в build.gradle

  • Реализация параллельных операций fork(), join() и get() с использованием try-with-resources и StructuredTaskScope

  • Удаление существующей конфигурации пула потоков ExecutorService (AppConfig), которая больше не требуется

  • Добавление обработки исключения StructuredTaskScope.FailedException в GlobalExceptionHandler

  • Проверка распространения исключений и поведения отмены путём запуска модульных тестов после завершения рефакторинга

Рассмотрим практический процесс рефакторинга, позволяющий аккуратно перейти от существующего кода на основе пула потоков к коду со структурированной конкурентностью.

Site footer