[Zamonaviy backend] Bu kursning 1-qismidagi yettinchi sessiyaning ikkinchi ma’ruzasi: "Kontekst propagatsiyasini refaktorlash (2)".
Ushbu ma’ruzada bulletin board loyihasining parallel bajarilish bo‘limida (StructuredTaskScope) ScopedValue’ning avtomatik meros olish mexanizmini qo‘llaymiz hamda asinxron chegaralardagi bog‘lash andozalari va nojo‘ya ta’sirlarsiz refaktorlash strategiyalarini ko‘rib chiqamiz.
📌 Asosiy mavzular:
-
Parallel bajarilish bo‘limi ichida fork() chaqirilganda, ota oqimning ScopedValue bog‘lash holati avtomatik ravishda meros qilib olinishi prinsipi
-
Mavjud asinxron koddagi kontekstni qo‘lda uzatish (set/clear) kodini olib tashlash va soddalashtirish
-
RequestContext.get() signaturasini o‘zgartirmagan holda, quyi darajadagi komponentlar (VirusScanClient, Thumbnailer) kodini o‘zgartirmasdan nojo‘ya ta’sirlarning oldini olish
-
ScopedValue’ning avtomatik propagatsiyasi cheklovlari va turli bajarilish chegaralari (unit testlar, @Scheduled paketli vazifalar, @Async va boshqalar) uchun bog‘lash andozalarini ko‘rib chiqish
-
7.6 bo‘limida unit testlar yozish va kompilyator xatolarini ataylab yuzaga keltirish orqali propagatsiyani tekshirishga kirish
Alohida qo‘lda bajariladigan ishlarni talab qilmasdan, virtual oqimlar va strukturaviy konkurrentlik muhitlarida kontekstni xavfsiz meros qilib oladigan zamonaviy Java arxitekturasini o‘rganing.