Distributed Tracing with Spring Boot Jaeger - Part 3

This is going to be the final part in the Distributed Tracing series using Jaeger in a Spring Boot application. So far, we covered overview on Distributed Tracing and how we can integrate tracing using Jaeger in our Spring Boot applications. If you are coming to this post directly, I will urge you to go through the previous parts on this topic on this blog: Part 1 Part 2 Part 3 In this final part I will be wrapping up with the basic concepts that I had targeted to cover in the whole Distributed Tracing series....

Last Updated May 23, 2022 Â· 5 min Â· 941 words Â· Anshul Gautam

Distributed Tracing with Spring Boot Jaeger - Part 2

This is a two parts series on this article, where we have covered Distributed Tracing in a Spring Boot application using Jaeger. This is part 2 of the series. If you are coming to this article directly, I will urge you to go through the part 1 of this series here. Part 1 Part 2 Part 3 🎯 Integrating Jaeger in our Spring Boot project Let’s head over to pom....

Last Updated May 18, 2022 Â· 5 min Â· 890 words Â· Anshul Gautam

Distributed Tracing with Spring Boot Jaeger - Part 1

This is a two parts series where we have covered Distributed Tracing in a Spring Boot application using Jaeger. This is part 1 of the series. Part 1 Part 2 Part 3 In this article we will try to understand what is distributed tracing, and how can we implement that in our Spring Boot projects. 🎯 What is distributed tracing? Distributed tracing, also sometimes referred to as Request tracing, refers to the solution using which we can monitor requests flowing through the different applications or components in a distributed architecture....

Last Updated May 16, 2022 Â· 6 min Â· 1078 words Â· Anshul Gautam

Maven Helper Dependency Analyzer Plugin for IntelliJ

This is a very common problem where we come across conflicting dependencies in our maven projects. A dependency can be present as a transitive dependency across several dependencies, and can potentially cause conflict at the runtime. This problem surfaces into a bigger shape when their versions are different. An older version is an outdated version for you may be as it won’t offer latest classes bundled inside it. On the other hand it can also be a situation wherein the older version had the classes that you need but the newer major release version had those classes removed....

Last Updated May 12, 2022 Â· 3 min Â· 438 words Â· Anshul Gautam

Function Currying in Java

Learn about function currying in Java with a simple use case study on Sandwiches

Last Updated May 7, 2022 Â· 3 min Â· 572 words Â· Anshul Gautam

Circuit Breaker Pattern using Resilience4j Decorators

Learn about Resilience4j with simpler examples for retry and circuit breaker design pattern

Last Updated May 5, 2022 Â· 5 min Â· 858 words Â· Anshul Gautam

Circuit Breaker Pattern using Resilience4j Annotations

🎯 What is Circuit Breaker Pattern? Circuit Breaker Pattern in Software Development is a design pattern which is analogous to MCB(Miniature Circuit Breaker) switches in electricity wiring at our home. When there is flow of excessive current, the MCB switch trips and disconnects the circuit preventing electrical faults and electrical equipment failure. The Circuit Breaker Pattern says that there is a proxy present in your application via which call to the other entity is being made....

Last Updated May 1, 2022 Â· 7 min Â· 1386 words Â· Anshul Gautam

Debugging Java Streams with IntelliJ Plugin

With Java 8 Streams, we are now able to process elements in streams in functional style; in declarative way. This has made processing elements easier and with an option to do these processing operations parallelly. One of the problem people face with large stream pipeline is that when these pipelines need to be debugged. Suppose there are 10 intermediate operations being performed on a stream pipeline. And the output from the net stream is not coming as expected....

Last Updated April 9, 2022 Â· 3 min Â· 604 words Â· Anshul Gautam

Async Method Calls using CompletableFuture in Spring Boot

In my previous post, I discussed on CompletableFuture provided by Java concurrency API in JDK 8 onwards. In this article, I want to discuss on using CompletableFuture in a Spring Boot application. 🎯 ThreadPoolTaskExecutor in Spring Boot Spring offers ThreadPoolTaskExecutor as a Java bean which is an abstraction of ThreadPoolExecutor of Java concurrency API. It has key configuration values which you can configure for your application. corePoolSize: It is the minimum number of workers which Spring will keep alive without getting timed out....

Last Updated April 8, 2022 Â· 3 min Â· 593 words Â· Anshul Gautam

Reactive Programming using CompletableFuture in Java

Java 8 introduced CompletableFuture as part of it’s concurrency API. This is very helpful when we want to nest operations around asynchronous computations, using the native Java API only. Prior to introducing CompletableFuture, we had Future which provided asynchronous callbacks. But there were few problems associated with Future. CompletableFuture addresses them well. Let’s start with understanding what were the issues with Future, that paved the way for CompletableFuture. 🎯 Drawbacks with Future We cannot manually complete the Future object Lack of proper Exception Handling options available We cannot chain multiple Future objects together In the below example, I am creating a simple Future, and trying to get the result from it....

Last Updated April 7, 2022 Â· 5 min Â· 942 words Â· Anshul Gautam