9-modul · 9-dars: Profiling · Scheduling · Mail

Daraja: Ilg'or

Profiling · Scheduling · Mail. Spring Boot bo‘yicha nazariya, amaliy namuna va mustaqil mashq.

Tushuntirish

## Dars maqsadi Profiling · Scheduling · Mail tushunchalarini farqlash, nima uchun kerakligini izohlash va kichik misolda qo‘llash.

## Nazariya Bu mavzuda profile muhitga qarab bean/konfiguratsiya tanlashni anglatadi; performance profiling esa CPU/xotira tahlili bo'lib boshqa tushuncha. @Profile bean faolligini, spring.config.activate.on-profile esa konfiguratsiya hujjatini shartlaydi. Dev va prod credentiallarini bir faylda hardcode qilmang. @Scheduled periodik ishni ishga tushiradi; @EnableScheduling talab qilinadi. fixedDelay avvalgi ish tugashidan keyin kutadi, fixedRate boshlanishlar orasidagi davrga mo'ljallanadi. Spring cron odatda soniya maydonini ham o'z ichiga olgan olti maydonli format; Unix cron bilan ko'r-ko'rona almashtirmang. Bir nechta instance bo'lsa bir xil vazifa bir necha marta bajarilishi mumkin: koordinatsiya va idempotency kerak. Spring Boot mail starteri Jakarta Mail integratsiyasi va qulay autoconfiguration beradi, jakarta-mail-api esa API shartnomasi bo'lib o'zi barcha runtime implementationni kafolatlamaydi. FreeMarker email yoki view shablonlarini yaratadi. Logback/Log4j2 implementation, SLF4J facade sifatida ishlatiladi; request/response loglarida token, email va katta bodylarni maskalang.

## Manbalar [Moduldagi savollar yo‘nalishi](https://github.com/jlkesh/pdp_online_java_lessons/blob/main/interviewquestions/9-module%28Spring%20Boot%29.md) [Rasmiy qo‘llanma](https://docs.spring.io/spring-boot/reference/)

Kod quyida o‘quv namunasi sifatida berilgan. To‘liq ilova uchun import, dependency va konfiguratsiya kerak bo‘lishi mumkin. SQLni faqat ajratilgan test bazasida bajaring.

Kod misoli

@org.springframework.scheduling.annotation.Scheduled(
  cron = "0 0 9 * * *", zone = "Asia/Tashkent")
void dailySummary() {
  // Idempotent xulosa yaratish; tashqi xabar alohida navbatdan yuboriladi.
}

Keng tarqalgan xatolar

Mashqlar

Teglar: nazariya, pdp, modul-09

Interaktiv ko'rinish (viktorina, izohlar, tarix)