Java

people working in office

Introduction to Apache HttpClient

Reading Time: 5 minutes Introduction Apache HttpClient is a popular open-source library for sending HTTP requests and receiving HTTP responses in Java. It provides a rich set of features for building HTTP-based client applications, including support for authentication, connection pooling, request and response interception, and more. One of the key benefits of Apache HttpClient is its flexibility and configurability. You can customize almost every aspect of the HTTP request Continue Reading

person holding smartphone while using laptop

How WebClient is different from RestTemplate?

Reading Time: 3 minutes Overview WebClient and RestTemplate are two popular ways to make HTTP requests in a Java application. While WebClient and RestTemplate both allow you to interact with RESTful web services, there are some key differences between the two. What is WebClient? WebClient is a newer HTTP client introduced in Spring 5. It’s a non-blocking, reactive HTTP client designed for use with Spring WebFlux. WebClient is built 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

serious black man working on laptop in light room

Introduction to Reactive Programming

Reading Time: 4 minutes Overview In recent years, Reactive programming has gained popularity. Now it is frequently utilized programming paradigm in the creation of cutting-edge, responsive, and scalable systems. Based on the concepts of asynchronous data streams, reactive programming offers a method for handling events and data flows non-blocking and responsively. In this blog post, we will provide an introduction to Reactive Programming and explore its key concepts and 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

a man wearing a virtual reality headset

Resilience4j Circuit Breaker with Spring Boot

Reading Time: 2 minutes Resilence4j Resilience4j is a Java library that provides several resilience patterns for building fault-tolerant applications. It is designed to help developers write resilient, fault-tolerant, and scalable applications with minimal effort. Resilience4j is designed to be easy to use and integrate into the applications. It also provides a flexible configuration system that allows developers to customize the behavior of each resilience pattern to suit their specific Continue Reading

person controlling flight simulator

Introduction To Resilience4j: What It Is And How To Use It With Examples

Reading Time: 4 minutes Resilience4j is a library that helps to build resilient and fault-tolerant applications in Java. It provides an easy way to add fault tolerance to your existing code base and offers a wide range of features for better control over the failure-handling process. In this article, we will introduce Resilience4j and how it can be used with some examples. So let’s dive in! What is Resilience4j? 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

woman holding tablet computer

Batch Operations in Reactive Stream – Using buffer with Project Reactor

Reading Time: 2 minutes Reactive streams support infinite data and handle backpressure. What if we want to perform a batch operation on top of the reactive stream. Can we batch over the infinite stream? In this blog, we will see how we can batch with Project Reactor reactive stream without breaking the streaming boundary and with handling the backpressure. The Problem Space In my project, one of the Microservice’s Continue Reading

person using silver macbook pro

Reactive vs Imperative Programming

Reading Time: 4 minutes Introduction A few years ago Reactive Programming was introduced as an improvement upon the imperative programming paradigm. It provides some important advantages over the imperative way by relying on asynchronous programming. These days we see a lot of enterprise applications use the reactive way but still, there are ones using the imperative approach. In this blog, we will try to explore what are the differences Continue Reading

woman programming on a notebook

Reactive Programming: What is it And Why We Need It

Reading Time: 4 minutes Introduction Reactive Programming is a paradigm that helps developers write event-driven applications by using observable streams of data. It’s often used in modern applications, especially on mobile devices and the web. In this article, we’ll explain what is and why we need it. We’ll also look at some of its benefits. And limitations so you can decide if it’s right for your project or not! 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