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

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

[Modern Backend] Это вторая лекция седьмого занятия части 1 курса «Рефакторинг распространения контекста (2)».

В этой лекции мы применяем механизм автоматического наследования ScopedValue к разделу параллельного выполнения (StructuredTaskScope) проекта доски объявлений, а также рассматриваем шаблоны привязки на асинхронных границах и стратегии рефакторинга без побочных эффектов.


📌 Основные темы:

  • Принцип, согласно которому состояние привязки ScopedValue родительского потока автоматически наследуется при вызове fork() в разделе параллельного выполнения

  • Удаление и упрощение кода ручной передачи контекста (set/clear) в существующем асинхронном коде

  • Предотвращение побочных эффектов без изменения кода низкоуровневых компонентов (VirusScanClient, Thumbnailer) за счёт сохранения сигнатуры RequestContext.get() без изменений

  • Рассмотрение ограничений автоматического распространения ScopedValue и шаблонов привязки для различных границ выполнения (модульные тесты, пакеты @Scheduled, @Async и другие)

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

Изучите архитектуру Modern Java, которая безопасно наследует контекст в средах с виртуальными потоками и структурированной конкурентностью без необходимости в отдельной ручной работе.

Site footer