WeAreDevelopers LIVE Nov 12, 2020

Slip Through the Boundaries of Legacy Systems with Kotlin and Spring WebFlux

Lukas Georgieff , Alberto Gisbert

Are legacy architectures choking your high-throughput services? Migrating to Kotlin and Spring WebFlux solves thread exhaustion. Learn to master reactive streams without triggering silent operational failures.

Pause
Mute Enter Fullscreen
#1 about 4 min

Backend architecture and legacy integrations at Porsche

How Porsche relies on synchronous monolithic architectures to support its growing digital backend services.

#2 about 2 min

Comparing Spring WebFlux and Spring MVC stacks

How threading architectures and request parsing structurally diverge between declarative and reactive web stacks.

#3 about 2 min

Load testing reactive versus imperative controllers

A side-by-side demonstration evaluating a deliberately lagging server handling competing load profiles concurrently.

#4 about 4 min

Analyzing load test results and thread efficiency

Why lower thread counts within WebFlux survive overwhelming operational loads avoiding traditional application crashes.

#5 about 2 min

Evaluating latency tradeoffs in reactive architectures

The hidden response speed penalties accumulating when inadvertently chaining asynchronous engines against synchronous dependencies.

#6 about 2 min

Transitioning from RestTemplate to WebClient publishers

How syntax demands differ completely when REST invocations generate abstract Mono publishers instead of simple strings.

#7 about 5 min

Creating a synchronous file reader simulation

How sequential processing methodologies create severe thread blockages via persistent memory starvation and idle times.

#8 about 4 min

Building an asynchronous pull model interface

How asynchronous callbacks connected to non-blocking files prevent primary application threads from stalling.

#9 about 3 min

Highlighting bottlenecks in naive push models

Why blasting internal messaging arrays blindly ultimately chokes slower subsystems struggling with concurrent intake limits.

#10 about 2 min

Balancing consumer limits using back pressure

How active publishers regulate throughput pacing by strictly waiting upon dynamic volume requests from subscribers.

#11 about 2 min

Outlining the standard Reactive Manifesto principles

Why scalable applications conceptually mandate responsive, resilient, elastic, and thoroughly message-driven behavior at their core.

#12 about 3 min

Examining reactive stream specification core types

How the agnostic cross-language standard binds disconnected modules firmly through strict declarative contract definitions.

#13 about 5 min

Implementing a custom publisher and subscription request

Applying manual iterating callbacks establishes discrete links feeding raw data arrays steadily into registered sinks.

#14 about 3 min

Processing collections using Flux and Mono

Utilizing Project Reactor building blocks accurately separates zero-or-one possibilities from unbound cascading streams.

#15 about 4 min

Validating structural reactive pipelines using StepVerifier

How dedicated verification suites manipulate virtual clocks testing signal logic deterministically before exiting unit loops.

#16 about 4 min

Handling unexpected crashes from null values

Why reactive type bindings detonate uncontrollably when functional map components return technically forbidden null objects.

#17 about 4 min

Troubleshooting silent failures in empty Mono operations

How silently discarding components directly halts downstream computations without emitting observable log traces.

#18 about 3 min

Distinguishing reactive assembly and subscription phases

Why decoupling compilation allocations stops redundant logic elements triggering instantly prior to eventual listener registration.

#19 about 4 min

Caching results effectively with hot Monos

How naive default annotations misinterpret objects retaining promises instead of locally persisting correctly resolved numbers.

Matching moments

3:12 min

Solving thread blocking with reactive frameworks and Kotlin

Jan Weinschenker Jan Weinschenker · WWC 2024

2:17 min

Adopting Spring WebFlux and the Reactor API

Matthias Falkenberg +1 · WWC 2022

2:03 min

Building scalable applications with reactive programming

Josh Long · WWC 2022

1:42 min

Resolving reactive stream errors in blocking applications

Filip Egeric Filip Egeric · WWC Europe 2026

3:16 min

Benchmarking concurrency models and throughput performance

Matthias Falkenberg +1 · WWC 2022

2:31 min

Contextual history of reactive programming in Java ecosystems

Ivan Šarić Ivan Šarić · Europe 2026 Virtual

Upcoming sessions on this topic

Open session

World Congress 2026 North America

One Repo, One Strategy: Scalable Full-Stack Testing in a Monorepo World

Paweł Matynia, Bartosz Leczycki

Paweł Matynia
Bartosz Leczycki
Open session

World Congress 2026 North America

How to generate business value through performance optimizations

Nikolai Sidiropulo

Software Engineer at Meta

Nikolai Sidiropulo
Open session

World Congress 2026 North America

Offloading IoT State: Solving the Memory Crisis on Legacy Hardware

Pravin Nagare

Senior Software Engineer, Roku

Pravin Nagare
Open session

World Congress 2026 North America

API = Some REST and HTTP, right? RIGHT?!

Rustam Mehmandarov

Passionate computer scientist

Rustam Mehmandarov
Open session

World Congress 2026 North America

Full Stack with Flutter - are we there yet?

Nemanja Stošić

Senior Flutter Developer

Nemanja Stošić
Open session

World Congress 2026 North America

It’s Alive! Taming the MLOps Franken-Stack: Write, Run, and Serve with Michelangelo

Paul Zimmerman, Eric Wang

Paul Zimmerman
Eric Wang