Replaying events is a crucial part in any event sourcing / cqrs application, to rebuild projections, generate new ones or seed external systems with data.
I’m a big fan of the Axon Framework. Even with its quirks and occasional (strange) bugs, it’s my go-to toolbox for my event sourcing & cqrs consulting and development work.
With the recent 3.0 release, Axon changed the way events can be replayed by introducing the Subscribing and Tracking event processors. The Subscribing processor follows the event stream in real-time, whereas the Tracking processor keeps track of events it has processed (using a token). This means that the Tracking processor can be stopped and resumed, and it will pick up processing where it left off.
Your boss or you have a great idea for a mobile application, enthusiastic as you are, you check the Internet and figured out you must use React Native. It works on both android and iOS with the same code base, how convenient!
You create your first React Native app, it sets up the environment for you and creates a default application. When inspecting the code, it is just a simple view with no dynamic content whatsoever. No problem to add some Views, Texts, and Scrollview’s to make this app look great.
Alright, it needs to retrieve some data, so lets introduce call to an API. “fetch” is the library to use and seems easy enough.
But then it hits you…. How am I going to show the results of the API within my app? What is the proper way to handle state?
Picture an early Monday morning in July, at the busy airport Schiphol. After clearing security, the FourScouts team is on the hunt for coffee. Fighting the cobwebs, but anxious to board the plane that’ll take them to sunny Curaçao, for their first ever workation!