Blog

Using API Gateways is a common design pattern with microservice architectures. API Gateways allow you to abstract the underlying implementation of the microservices. Microservices based systems typically have a large number of independent services. One challenge in such systems is how external clients interact with the services. If external clients interact directly with each microservices, […]Continue reading

A Spring Boot RESTful service is typically divided into three layers:  Repository, Service, and Controller. This layering helps to segregate the RESTful application responsibilities and enabling loose coupling between the objects. When you develop a layered RESTful application, you will also need to test the different layers. In this post, I will discuss testing Spring […]Continue reading

RabbitMQ is a common messaging broker which allows applications to connect and communicate. It’s common for services in microservices-based systems to communicate asynchronously through messaging. In order to create such a message-based system, you need a message broker, aka messaging server. A message broker can support several messaging patterns. Typically, a message sender sends a […]Continue reading

Java SE 12 introduces switch expressions, which like all expressions evaluate to a single value, that you can use as statements. Java 12, brings improvement to the switch statement with new capabilities. Some of the key capabilities are arrow case labels, multiple case statements, and return values. In this post, I’ll explain the new switch […]Continue reading

Introduction In this article, we will look at Spring Framework’s support of immutable property binding. We described Spring external configuration in this article and also provided a more detailed article about the Java bean properties binding. In this article, we will demonstrate constructor binding using the merchant account configuration in this article. Constructor binding enables […]Continue reading