Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Quarkus Insights 2023-03-06
Search
Julien Ponge
March 06, 2023
Programming
140
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Quarkus Insights 2023-03-06
Julien Ponge
March 06, 2023
More Decks by Julien Ponge
See All by Julien Ponge
Reactive Streams. 4 Interfaces. Et après ?
jponge
0
83
Scalability and resilience in practice: current trends and opportunities
jponge
0
320
Eclipse Vert.x at BruJUG 2019
jponge
0
220
Du réactif au service du pneu connecté
jponge
0
400
Bringing Reactive to Enterprise Java Developers
jponge
0
360
Golo LyonJUG 2019
jponge
0
320
Vert.x Montreal JUG 2018
jponge
0
560
Bringing Reactive to Enterprise Application Developer // Reactive Summit 2018
jponge
0
310
Démystifier le réactif et l'orchestration de services avec Vert.x, Kubernetes et Kotlin
jponge
0
310
Other Decks in Programming
See All in Programming
Optunaを作ったときにやりたかったこと、その後 (2026/10/16, Optuna Meetup #3)
iwiwi
4
1.3k
golang-bob.pdf
iwatsukayura
0
140
Groovy as a human and AI friendly programming language
paulk
0
120
作れる、でも消せるか?──安全に「枯らして消す」機能削除術 / Drain, Then Delete
chobishiba
2
1.2k
コーディング自動化の次へ。人の介入をゼロにするファクトリーとサポートAIによる実践
timakin
5
4.8k
Seven New Principles of Software Engineering
yegor256
0
350
Unity6 URPによる海底をテーマにしたVJシステムの解説 | Unity Shader 完全に理解した 勉強会
gam0022
0
390
学びを記事・スライド・Xへ高速展開する― AI-assisted Learning Loopで回すコンテンツ生成術
ochtum
0
150
AIが生成したコードは読むべきか?抽象化設計とコードの品質保証 / abstraction-design-and-quality
minodriven
11
6.9k
JIS keyboard support in Omarchy
lef237
0
160
Next.js: The final boss of Web Performance
guaca
0
350
GraphQL の onError と Nullability のこれから
quramy
0
190
Featured
See All Featured
Typedesign – Prime Four
hannesfritz
42
3.2k
Embracing the Ebb and Flow
colly
88
5.2k
Faster Mobile Websites
deanohume
310
32k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
580
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
31
3.4k
The SEO identity crisis: Don't let AI make you average
varn
0
610
Statistics for Hackers
jakevdp
799
230k
Jamie Indigo - Trashchat’s Guide to Black Boxes: Technical SEO Tactics for LLMs
techseoconnect
PRO
0
720
Into the Great Unknown - MozCon
thekraken
41
2.8k
The SEO Collaboration Effect
kristinabergwall1
1
600
Paper Plane
katiecoart
PRO
5
54k
Breaking role norms: Why Content Design is so much more than writing copy - Taylor Woolridge
uxyall
1
470
Transcript
java.util.stream.* java.util.concurrent.Flow.* 2 kinds of “stream” APIs Efficient in-memory data
stream processing Backpressured async I/O data stream processing
“Reactive Streams is an initiative to provide a standard for
asynchronous stream processing with non-blocking back pressure.” — https:/ /www.reactive-streams.org/ Mutiny! Photo by Arno Senoner on Unsplash
org.reactivestreams.* (Java 6 legacy) java.util.concurrent.Flow.* (since JDK 9) Back-pressured, asynchronous,
non-blocking (see Reactive Streams TCK) < your own library / client / driver / … > APIs Protocol User-facing APIs
return flux .filter(n -> n % 2 == 0) .map(n
-> "[" + n + "]") .flatMap(Database :: record) .retry(5); return multi .select().where(n -> n % 2 == 0) .onItem().transform(n -> "[" + n + "]") .onItem().transformToUniAndMerge(Database :: record) .onFailure() .retry() .withBackOff(Duration.ofSeconds(1)) .atMost(5); RxJava / Reactor Mutiny Functional dialect, fl at 100+ methods list Event-based dialect, group-based api
Ok, 4 interfaces. Must be easy, right? Publisher<T> Subscriber<T> Processor<T,U>
Subscription
None
None
None
None
None
Migrate to Flow Use adapters Strategies: from legacy to Flow
Support both APIs New APIs. Same TCK. Best for 3rd-party libraries that haven’t migrated yet. Virtually no-cost. Transition for user code: RESTEasy Reactive, Reactive Messaging, …
Mutiny Zero (44 Kilobytes JAR) RS <-> Flow Mutiny Zero
Adapters Vert.x -based stream publishers Mutiny Zero — minimal helper libraries to make publishers