Project Reactor Mono
- Java kursu
- Uzman
- Ders 23/46
- 5 dk
Project Reactor Mono ile tek değerli reaktif akışı öğrenirsin.
Project Reactor ve Mono
Project Reactor, Reactive Streams'i uygulayan popüler bir kütüphanedir. İki ana akış türü sunar: Mono en çok bir öğe (0 veya 1), Flux birden çok öğe taşır. Bu, akışları öğe sayısına göre sınıflandırır.
Örnek: Mono.just(5) tek bir 5 değeri üreten bir Mono'dur. Üzerine .map(x -> x * 2) ile dönüştürme, .filter(x -> x > 1) ile süzme, .subscribe(...) ile tüketim eklenir. Her işlem yeni bir akış döndürür; bu yüzden işlem zinciri bildirimsel (declarative) okunur.
İşlem zinciri
Reactor'da işlemler bir zincir oluşturur. Her işlem yeni bir akış döndürdüğü için, Mono.just(3).map(x -> x + 1).filter(x -> x > 2).subscribe(...) biçiminde ardışık yazılırlar.
Bu, bildirimsel bir üslup sunar: ne yapılacağı adım adım, akıştan akışa yazılır. map dönüştürür, filter süzer, flatMap iç içe akışları düzleştirir. subscribe çağrılana dek hiçbir şey çalışmaz; bu, tembel (lazy) davranıştır ve gereksiz hesabı önler.
Uygulama Mono ile değeri dönüştürüp yazdır
Mono.just(5) ile bir Mono oluştur. .map(x -> x * 2) ile değeri ikiye katla. .subscribe(System.out::println) ile sonucu yazdır.
Başlangıç kodu
// Mono.just ile değer oluştur
// map ile ikiye katla
// subscribe ile yazdırÖrnek çözüm
import reactor.core.publisher.Mono;
public class MonoDemo {
public static void main(String[] args) {
Mono.just(5)
.map(x -> x * 2)
.subscribe(System.out::println);
}
}Beklenen çıktı
10
Soru ve cevaplar
Dersin sorularını cevaplarıyla birlikte inceleyebilirsin. Kendini denemek istersen dersi interaktif olarak çöz.
1 Reactor türlerini eşleştir
| Kavram | Anlamı |
|---|---|
Mono |
Tek değer |
Flux |
Çok değer |
map |
Dönüştürür |
subscribe |
Tüketimi başlatır |
2 Mono.just çağrısını tamamla
Mono.____(5)
Mono.just(5)
Açıklama: Mono.just tek bir değerle Mono oluşturur.
3 Project Reactor'da tek bir değer üreten akış hangisidir?
- Optional
- Flux
- Stream
- Mono Doğru cevap
Açıklama: Mono en çok bir öğe taşır.