Even when you have been developing applications using the Axon framework for years, you still come across learnings that are worthwhile sharing. Today I learned such a lesson and I would like to share it with you. I was adding a new property to an Entity in my application and updated the Revision of the […]
Verifying Coding Standards Using Static Code Analysis Techniques
In a previous blog we described how we used JUnit and Reflection to verify correct implementation of coding standards addressing Axon Upcaster consistency. We concluded that, although possible, it felt a bit like a hack because we had to change modifiers of Java variables defined as “private static final” resulting in Java security manager warnings. […]
Top take-aways from TEQNation
Last week, on May 15, I had the pleasure of attending the TEQNation conference. While I had been to this NLJUG event before, it felt like my first time again. Not only because of the amazing new location—the industrial chic De Fabrique—also because it’s my first time attending as a budding programmer. Although, given the […]
Unit Testing Source Code: Verifying Axon Event Upcaster Consistency
In our last project we used a JUnit test to check consistency of all code concerned with Axon event upcasting. We think this is interesting as we basically unit test source code rather than class behavior. In this blog we describe how we implemented it and conclude with a short evaluation and we list alternative […]
Distributed Tracing in an Axon Application
The Giftcard-demo demonstrates Axon Commands, Events and Queries either together or in a distributed fashion. Now with the tracing extension, these messages and context information can be visualised to get insight into the application behaviour. Requirements to run the demo You will need git, docker and maven. We will checkout out the code, build the […]
CQRS replay performance tuning
We, as experienced users and consultants for Axon, encourage developers that work with Axon Framework or are considering working with it, to read the following blog by Frans van Buul from AxonIQ. This blog explains in a clear and structured way, how to avoid the pitfalls that can happen when replaying past events after changing/adding read models. […]
The potential of Machine Learning with the Axon Framework
Machine Learning creates lots of value in the business processes, if and when applied properly and the right data is available. These days a lot of data is already held within organisations. It is common to see this data unused, with possibilities and insights unseen. While it can be due to limitations of modelling and […]
Exposing asynchronous communication through a synchronous REST API with Spring 5
On my current project, we opted not to use REST for the communication between our services. Instead we make use of AxonIQ’s AxonHub, which acts as a specialized message broker. Messages can be of three types: Command – You want to change something Event – You want to inform others of something that happened Query […]
Using Axon with PostgreSQL without TOAST
The client I work for at this time is leveraging Axon 3. The events are stored in a PostgreSQL database. PostgreSQL uses a thing called TOAST (The Oversized-Attribute Storage Technique) to store large values. From the PostgreSQL documentation: “PostgreSQL uses a fixed page size (commonly 8 kB), and does not allow tuples to span multiple […]
Axon from the trenches: how to keep your code compatible with legacy events and Sagas
Imagine you’re using Axon to run an event sourcing application. Your production event store might contain millions of events, created in various versions of the application. Wouldn’t it be nice to know for sure that the latest version of your application plays nicely with all your production events and Sagas, including those from previous versions? […]