Blog

Complete RabbitMQ Tutorial in Java

By |2020-04-24T18:22:10+00:00March 28th, 2020|Categories: RabbitMQ|Tags: , |

Complete RabbitMQ Tutorial in Java with Spring Boot example This is a RabbitMQ Course in Java with asynchronous messaging examples using rabbitmq-java-client, Spring Boot and Spring AMQP. This is a programming course, it focuses more on the asynchronous programming than the admin UI. I have tried to keep the tutorial up-to-date with the latest Java trends. Code Examples [Read More]

Advanced JPA Tutorial with Hibernate

By |2019-09-13T06:09:23+00:00August 27th, 2019|Categories: Hibernate, JPA|Tags: , , , |

This is an advanced JPA tutorial with hibernate 5.x. JPA stands for Java Persistence API. It is the official java specification to work with an ORM tool. Learn JPA 2.2 with Hibernate 5.x in the right way and with a lot of code examples. Prerequisites Programming knowledge in Java.Basic knowledge of JDBC programming.JDK 8 installed on your system.Apache Maven 3.3 [Read More]

Advanced Docker Tutorial

By |2020-09-12T23:20:13+00:00August 26th, 2019|Categories: Docker|Tags: , , |

Advanced Docker tutorial is a complete docker tutorial with examples. This is a Zero to Hero series, to make you up and running with docker. I have created this tutorial to give you an in-depth understanding of docker and docker-compose. Docker provides a consistent way to develop, package, ship and run an application on almost any platform. You will learn [Read More]

Advanced Maven Tutorial

By |2019-10-21T15:58:52+00:00August 25th, 2019|Categories: Maven|Tags: , , , |

Maven Tutorial - A complete tutorial with code examples. This tutorial is an advanced maven tutorial meant to make you a Hero in Apache maven. Apache Maven is a software project management and comprehension tool. Based on the concept of a project object model (POM), Maven can manage a project’s build, reporting, and documentation from a central piece of information. [Read More]

Circuit Breaker Pattern in Microservices

By |2022-07-29T19:13:51+00:00July 28th, 2022|Categories: Architecture|Tags: |

The way one service talks to another service in the Microservices world, is via network calls like gRPC, HTTP, or event-driven mechanisms. One major difference between in-memory calls and network calls (remote calls) is that the remote calls can fail, and the remote server may not even respond until a timeout happens. Just imagine someone placing an order on an [Read More]

Service Discovery Patterns in Microservices

By |2022-07-29T19:17:12+00:00July 25th, 2022|Categories: Architecture|Tags: |

In a real-world situation, due to various reasons like auto-scaling and fault tolerance mechanisms, often you will need to spin up and spin down various applications (containers). Because of this, their locations like IP addresses, Hostnames, etc may change. For this reason, DNS - with its time-to-live expiration values - may be a poor fit for service discovery and location. [Read More]

The API Gateway Pattern in Microservices

By |2022-07-29T19:17:26+00:00January 28th, 2021|Categories: Architecture|Tags: |

An API Gateway acts as a proxy between the Client Apps and the microservices endpoints. I have explained in the previous article (Introduction to Microservices Architecture), that each microservice exposes a set of fine-grained endpoints. Each of these services can be hosted on a different server, hence exposing different host URLs. In this article, we will explore the need for [Read More]

Introduction to Microservices Architecture

By |2022-07-29T19:17:35+00:00August 26th, 2020|Categories: Architecture|Tags: |

This is a long boring introduction to Microservices Architecture, I will try to make it as relevant and interesting as possible. You will learn the differences between Monolithic and Microservices architecture. The various strategies used to decompose a Monolithic system into Microservices based architecture. It is difficult to give you an overview of this architecture in a single article, but [Read More]

Getting Started with JUnit 5

By |2020-08-28T23:14:34+00:00August 8th, 2020|Categories: JUnit|Tags: |

In this quick tutorial, we are going to see how we can set up a JUnit 5 project. It will cover the download and installation part with a small working example. Prerequisite To set up a JUnit 5 project, you will need the followings: Java 8 (or higher) Maven 3.0 (or higher) Your favorite IDE (I’m using IntelliJ IDEA) I'm [Read More]

Spring @Import and @ImportResource annotations

By |2023-06-30T06:01:05+00:00August 6th, 2020|Categories: Spring Framework|Tags: , |

In this tutorial, you will learn to use Spring @Import and @ImportResource annotations to import configurations from java-config class and XML configurations respectively. These annotations work well with @Configuration annotations. Make sure you have a clear understanding of the ways to do Dependency Injections in Spring and the other related concepts. Check the related article on Inversion of Control and [Read More]

Handle Resources in Spring

By |2020-08-05T06:14:19+00:00August 5th, 2020|Categories: Spring Framework|Tags: , |

This article touches upon how to Handle Resources in Spring and we will look into the various interfaces like Resource, ResourceLoader, and ResourceLoaderAware. We usually do not have to make any modifications to the way in which Spring works with resources. We will specifically learn how Spring handles resources. Do not be confused with @Resource annotation. This article is about [Read More]

JUnit 5 – Software Testing Framework

By |2020-08-12T15:04:31+00:00August 1st, 2020|Categories: JUnit|Tags: , |

Introduction “Nobody likes testing. Neither I". Yes, you heard it right. I said I don’t like testing. Well, that’s not only me, it’s true for MOST of the developers around the world. But actually, testing is an essential phase of any software development life-cycle. And that is what we are going to learn in this tutorial series with JUnit 5 [Read More]

Spring WebFlux REST Api with MongoDB and Spring Data

By |2020-07-20T18:42:10+00:00July 20th, 2020|Categories: Spring Framework|Tags: , |

 In this article, I will explain to create a Reactive Rest API in Spring WebFlux with MongoDB as the document store. We will use reactive programming in API as well as the Repository level. This is an attempt to give you a real-life application development feel in this tutorial. In the previous tutorials, I have already discussed creating nonblocking [Read More]

A functional endpoint in Spring WebFlux

By |2020-07-20T18:42:54+00:00July 10th, 2020|Categories: Spring Framework|Tags: , |

In this article, you will learn to create a Functional endpoint in Spring WebFlux. In the previous article, I have introduced you to create an endpoint using the Annotations, now we will look into the pure functional programming way to achieve this. 1. Overview of Functional endpoint An Http request initiated by a client app arrives at the Server (Netty/Undertow [Read More]

Go to Top