[Modern Backend] Это пятая сессия части 1 курса «Рефакторинг параллельных вызовов API (1)».
На этой сессии мы проведём предварительный структурный анализ и спроектируем рефакторинг, необходимый для переноса логики валидации вложений и генерации миниатюр проекта доски объявлений с существующего подхода на основе CompletableFuture на код, использующий структурированную конкурентность Java 25 (StructuredTaskScope).
📌 Ключевые темы:
-
Анализ файлов, предназначенных для рефакторинга, и обзор существующего подхода к параллельным вызовам API на основе CompletableFuture
-
Анализ ограничений существующего подхода (невозможность распространить отмену на другие параллельные задачи при возникновении исключения и проблемы с жизненным циклом потоков)
-
Проверка отсутствия распространения отмены с помощью модульного теста PostCreationCoordinatorTest
-
Включение экспериментальных возможностей Java 25 (--enable-preview) в build.gradle
-
Понимание процесса преобразования кода и пятиэтапной структуры выполнения на основе StructuredTaskScope (fork, join, get)
Шаг за шагом изучите теорию и процесс проектирования того, как структурированная конкурентность может устранить утечки ресурсов и фрагментированную обработку исключений в существующем асинхронном коде.
https://www.youtube.com/watch?v=T62CtaVNInQ