Maven BOM

BOM stands for Bill of Materials. Basically we can use it to store in one place all the dependencies with their versions. It's useful in the case microservices are used to make sure same versions are used everywhere. Of course this is not necessarily a requirement for microservices, as you have the choice to build… Continue reading Maven BOM


Profiling with Spring

Every application should have functional and non-functional tests. Non-functional include load and performance. So what happens when we do not meet the performance requirements? Obviously we try to figure out what is going on. This is called profiling. In this post I will write about how to profile an application with spring. Photo by João Silas on Unsplash… Continue reading Profiling with Spring


Domain driven design concepts

Photo by Trent Erwin on Unsplash Lately I've been fascinated by the idea of domain driven design. Before diving more deeply into it we must understand the concepts that are being used. Entities Each object should be uniquely identified. The entity should contain those attributes that are required in order to uniquely identify the object. For example for… Continue reading Domain driven design concepts


How many exceptions?

We all know what exceptions are. We have checked and unchecked exceptions in java. Checked exceptions are for recovering. Like reading a file from disk. public class ReadFile { private AtomicInteger retryCount = new AtomicInteger(0); private static final int maxRetries = 3; private static Logger log = getLogger(ReadFile.class.getName()); private String readFromFile(String fileLocation) { StringBuilder resultStringBuilder… Continue reading How many exceptions?


Sagas in microservices

We all know that the shared data in microservices(if they are done right) is eventually consistent. This is due to the CAP theorem which states that availability is usually a better choice than consistency. In a previous post I wrote about having eventual consistency data using Eventuate. Since distributed transactions(2PC) are heavy with a bad… Continue reading Sagas in microservices