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 · World Congress 2024

2:17 min

Adopting Spring WebFlux and the Reactor API

Matthias Falkenberg +1 · World Congress 2022

2:03 min

Building scalable applications with reactive programming

Josh Long · World Congress 2022

1:42 min

Resolving reactive stream errors in blocking applications

Filip Egeric Filip Egeric · World Congress 2026 Europe

3:16 min

Benchmarking concurrency models and throughput performance

Matthias Falkenberg +1 · World Congress 2022

2:31 min

Contextual history of reactive programming in Java ecosystems

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