Author: Shashikant Tanti

Spring WebFlux — WebClient

Reading Time: 3 minutes Overview This Blog will see how we could use Spring WebFlux WebClient for making non-blocking HTTP requests. What Is the WebClient? Just put, the WebClient class which provides a common method for sending or receiving data from any local, intranet, or Internet resource which is identified by a URI. The WebClient class uses the WebRequest class which provides the access to resources. It is an interface that stands for Continue Reading

black smartphone on table

Spring WebFlux — Error Handling

Reading Time: 3 minutes Introduction In this Blog, we’ll take a look at the Spring WebFlux Error Handling using @ControllerAdvice. While calling the services/micro-services anything could go wrong and result in 500 “Internal Server Errors” as shown below error: Usually, error messages like this will not be handled properly and would be propagated to all the downstream services which might impact the user experience. In some cases, applications might want to use Continue Reading

a man and a woman using their laptop in a bar

Swagger with Spring REST API

Reading Time: 5 minutes Swagger with Spring REST API REST is the ultimate way to expose web services nowadays. But, how do state to clients and how to use a REST API? There’s no real standard or at a minimum de facto standard to expose a REST contract. Many API spots human-readable documentation, which is currently edited and thus hard to keep perfectly synchronized with the API. Another process Continue Reading

turned on laptop computer

Reactive Programming: Spring WebFlux

Reading Time: 3 minutes Reactive Programming Reactive has specific characteristics that make them ideal for low-latency, high-throughput workloads. Project Reactor and the springWebflux work together to enable developers to build enterprise-grade reactive systems that are responsive, resilient, elastic, and message-driven. What is reactive processing? Reactive processing is a paradigm that enables developers to build non-blocking and asynchronous applications which can handle back-pressure (flow control). Why use reactive processing? Reactive Continue Reading

man people woman laptop

Getting started with Spring Boot 3.0

Reading Time: 6 minutes Introduction Spring Boot is a popular framework for building web applications and microservices in Java. The latest version, Spring Boot 3, released in September 2021. And it brings a number of new features and improvements to the framework. One of the main new features in Spring Boot 3 is support for Java 16. This means that developers can now take advantage of the latest features. Continue Reading

black transistor beside capacitor

Resilience4j: Getting Started with Circuit Breaker

Reading Time: 4 minutes Introduction Resilience4j is a lightweight, easy-to-use fault tolerance library for Java 8 and functional programming. The Circuit Breaker is one of the main features provided by Resilience4j. It is used to stop cascading failures in a distributed system and provide fallback options. To get started with Circuit Breaker in Resilience4j, you will need to add the resilience4j-circuit breaker dependency to your project. Once the dependency Continue Reading

Businessman playing digital tablet in cafe

Reliable Database Migrations with Liquibase and Spring Boot

Reading Time: 2 minutes In this blog, we look at database migrations with the very popular Liquibase database migration library and how you can use it in the context of a Spring Boot application. Setting Up Liquibase in Spring Boot By using default Spring Boot auto-configures Liquibase while we upload the Liquibase dependency to our construct document.Spring Boot makes use of the primary DataSource to run Liquibase (i.e. the only annotated with @primary if there is a couple of). In case we need to apply a special DataSource we can mark that bean as @LiquibaseDataSource.rather, we are able to set Continue Reading

Data centre

Liquibase with Spring Boot

Reading Time: 3 minutes The purpose of this blog is to show you the process of using Liquibase as a piece of your Spring Boot workflow. Springboot makes it easy to create standalone, production-maven Spring-based applications. Introduction Liquibase is an open-source database that has an independent library for tracking, managing, and applying database schema changes. Liquibase was started in 2006 and it is used to allow easier tracking of database changes, especially in an agile software Continue Reading

Analyzing data.

Liquibase: Database change management

Reading Time: 3 minutes Liquibase is one of the most protean tools for database migration. It operates on almost all SQL database outlets. So whether you use MySQL, SQL Garçon, Oracle, Firebird, or a combination of these or any other common database platforms, it’s got you covered. It also runs in any CI/ CD channel so long as you can run Java, install the connectors, and connect to your databases. This Continue Reading

Event Sourcing CQRS using Axon

Reading Time: 4 minutes Event Sourcing and CQRS are two of the original patterns for data management in a Microservices architecture. In this Blog, we understand the various data management patterns for microservices. What is Event Sourcing? At the high-level, Event Sourcing act like storing the state of the application in the form of domain events. I have also used a working example for Event Sourcing using Axon and Spring Continue Reading

Spring-Webflux: How to test controllers?

Reading Time: 3 minutes Introduction : While working with Spring MVC, you might have used Spring MockMVC to perform testing of Spring web MVC controllers. MockMVC class is part of the Spring MVC test framework which helps in testing the controllers explicitly starting a Servlet container. But, this is not something that will work if you are using SpringBoot Webflux. If you have a Spring application built with Webflux, the MVC controllers can be tested Continue Reading

Axon vs Kafka

Reading Time: 4 minutes Introduction One of the most common discussion points that come up regularly in interactions with Customers/Prospects/Forums is how does Axon compare to  Apache Kafka? Can one do the job of the other? Are they complementary to each other? Can they work together? Does Axon provide any capabilities to work with Kafka? Apache Kafka is a very popular system for publishing and consuming events. Its architecture Continue Reading

Salient Features of Spring WebFlux

Reading Time: 4 minutes What is Spring WebFlux? Spring WebFlux is a fully non-blocking, annotation-based web framework built on Project Reactor that makes it possible to build reactive applications on the HTTP layer. WebFlux uses a new router functions feature to apply functional programming to the web layer and bypass declarative controllers and RequestMappings. It requires you to import Reactor as a core dependency. WebFlux was added in Spring 5 as a reactive Continue Reading