~/talk

Designing, Implementing, and Using Reactive APIs

Talkat SpringOne Platform 2017 · 2017-12-04..12-07· [java, reactive-programming]
name:Ben Hale
links:none on file
links:none on file
slides:none on file

A reactive Java client for Cloud Foundry is implemented on Project Reactor (Reactor 3.x) to handle 550–600 Cloud Foundry APIs with nonblocking IO, using Mono/Flux as the public types, returning monos even for collections, and composing small reusable methods for paging and orchestration. Testing uses StepVerifier instead of blocking, production code measures hundreds of thousands of lines and thousands of tests, and blocking is confined to isolated thread pools or edges to avoid degrading Netty servlet threads.

AI-written summary · about

  1. 0:00Intro
  2. 2:13Introduction to Reactive Programming
  3. 5:08Cloud Foundry Java Client
  4. 8:04Generic Request and Response Payloads
  5. 8:38Strongly Typed Request and Response Payloads
  6. 12:26When To Use Reactive
  7. 17:04What Should a Reactive API Return?
  8. 18:44Using a Flux Response
  9. 19:42Using a Mono Response
  10. 22:39Imperative Operation
  11. 23:02Reactive Operation
  12. 25:01Scope of a Method
  13. 26:58Reusable Methods
  14. 29:10Sequential and Parallel Coordination
  15. 31:35Error Logic
  16. 33:26Empty Logic
  17. 36:21Conditional Logic Avoiding Imperative
  18. 38:53Conditional Logic Using Imperative
  19. 40:14Test Finishing Before Assertions
  20. 41:11Test Blocking Using CountDownLatch
  21. 42:22Testing using StepVerifier
  22. 42:56Test Multiple Values
  23. 44:12Test Expected Error
  24. 45:01Countdown Latches
  25. 48:02Blocking Flows
  26. 50:55Error Handling
  27. 51:37Bridging Imperative and Reactive using block()
~/search
type to search 6,249 conferences, 138,987 speakers and 185,172 talks
~/help
cmdctrl k
search every conference, speaker and series
/
focus the filter search
h
home
c
conferences
s
speakers
e
series
t
light / dark — the status bar button does the same
?
this help
esc
close this, then clear every filter — or just the search, while you are typing in it

Ignored while you are typing. Pages without a filter rail have no search to focus.