
technologyJul 23, 20261:02:25pending
From CloudEvents to Domain Events
About this episode
An airhacks.fm conversation with Johan Haleby about:
discussion about the Occurrent event sourcing library for Java, motivation behind building Occurrent as a set of building blocks for event sourced applications, using higher-order functions instead of distinct framework concepts, the library approach for gradually introducing event sourcing into regular projects, CloudEvents as the serialized event format and its evolution into CNCF, real use cases including querying the event store for consistent reads and per-user logs, using the CloudEvents subject attribute to index a user, enforcing unique constraints such as one email per person, dynamic consistency boundary, event sourcing fundamentals of storing a list of events instead of mutable state, basing decisions on prior events, the distinction between event sourcing, CQRS and CQS, materialized views and different read and write models, subscriptions to events after they are persisted, the difference between domain events and integration events for decoupling teams, auditing versus event sourcing and why intent matters, Hibernate Envers, Transaction Script pattern, folding events into state with Java Gatherers fold, modelling domain logic with sealed interfaces and records, static decision methods returning new events, the Redux analogy, snapshotting and closing the books for long streams, Kafka and Kafka Streams for event-driven architecture, cascading enriched events, ksqlDB materializing streams as tables, DynamoDB Streams and on-demand tables, storing state alongside events in one transaction, tractors and fitness trackers as event sources
Johan Haleby on twitter: @johanhaleby
Get every episode summarized
Each time airhacks.fm podcast with adam bien publishes, we email you a written briefing from the transcript — the topics, who appeared, and any specific claims, with the ad reads skipped.
Email me new episodesFree for 3 shows. No card needed.
Hosts & guests
No transcript yet
This episode has not been transcribed. Request it and it moves to the front of the queue.
More episodes
More from airhacks.fm podcast with adam bien

Fast JSON and Furious Runtime
airhacks.fm podcast with adam bien
Sep 8, 20261:09:14completed

Pauseless Java: Inside Azul's C4, Falcon and ReadyNow
airhacks.fm podcast with adam bien
Aug 31, 2026pending

Turning Back Time: Strings, Locks and Garbage Collectors in Java
airhacks.fm podcast with adam bien
Aug 27, 20261:00:57pending

From PHP to Java: Building Tools, Frameworks, and AI-Assisted IDEs
airhacks.fm podcast with adam bien
Aug 23, 20261:15:34pending