Showing posts with label Spring_Boot. Show all posts
Showing posts with label Spring_Boot. Show all posts

Jul 12, 2025

Building bidirectional Streaming gRPC : A Real-World chat Example

A real-world example of bidirectional streaming using gRPC in a Spring Boot application with a REST wrapper for client interaction.

πŸ”§ Technologies Used

  • Java 11
  • Spring Boot 2.7.x
  • gRPC (1.54.0)
  • Protocol Buffers (proto3)
  • Maven
  • WebFlux + Server-Sent Events (SSE) for REST integration

Jul 3, 2025

Building Client-Side Streaming gRPC : A Real-World File Upload Example

This project demonstrates client-side streaming using gRPC with a Spring Boot application. It includes:

  • A gRPC server that receives file chunks via stream and reconstructs them.

  • A REST client that accepts multipart/form-data uploads and streams the file to the server over gRPC.

πŸ”§ Technologies Used

  • Java 11
  • Spring Boot 2.7.x
  • gRPC (1.54.0)
  • Protocol Buffers (proto3)
  • Maven
  • WebFlux + Server-Sent Events (SSE) for REST integration

πŸ“‘ Mastering Advanced gRPC Communication Patterns

Modern distributed systems demand high-performance, language-agnostic communication. gRPC—Google’s high-speed RPC framework—has become a core enabler of service-to-service communication in microservices architectures. While Unary RPCs serve simple request-response models, gRPC shines in more complex, real-time communication through streaming patterns.


In this post, we deep dive into four powerful gRPC communication patterns:

  • Unary RPC

  • Server Streaming RPC

  • Client Streaming RPC

  • Bidirectional Streaming RPC

Building a Server-Side Streaming gRPC Service in Spring Boot: A Stock Ticker Demo

🧠What is gRPC and Why Use It?

This project demonstrates how to implement server-side streaming using gRPC in a Spring Boot application with Java 11. The use case simulates a stock ticker that streams real-time stock prices to the client.

πŸ”§ Technologies Used

  • Java 11
  • Spring Boot 2.7.x
  • gRPC (1.54.0)
  • Protocol Buffers (proto3)
  • Maven
  • WebFlux + Server-Sent Events (SSE) for REST integration

Jul 2, 2025

Getting Started with gRPC and Spring Boot — A Beginner’s Guide

As microservices become the backbone of modern backend architecture, efficient communication between services becomes more critical. In this post, we’ll explore how gRPC fits into the picture and how you can get started with it using Spring Boot.

Jun 4, 2025

Unlocking Spring Boot Performance: A Guide to Effective JVM Tuning

🧠 Why JVM Settings Matter

When we think about speeding up an application, we often think about optimizing code, changing architecture, or rewriting services. But sometimes the real bottleneck is much deeper — in how the Java Virtual Machine (JVM) manages memory, garbage collection, and system resources.

Spring Boot apps run on the JVM. That means by tweaking the JVM's configuration, you can unlock massive performance improvements — without changing your code.

Spring Boot apps run inside the Java Virtual Machine (JVM). The JVM is responsible for managing:

  • Memory allocation

  • Garbage collection (GC)

  • Thread scheduling

  • JIT (Just-In-Time) compilation

  • Native I/O handling

  • Most developers never touch JVM flags, but the default settings are designed for general-purpose use — not high-performance production environments.
  • Tuning the JVM is like customizing your engine to your terrain. For server applications, especially ones running in Docker or Kubernetes, JVM tuning can unleash massive improvements in throughput, latency, and reliability.

Dec 20, 2023

Building RESTful APIs with Spring Boot and OpenAPI Generator

  • In this Post, we will explore how to create RESTful APIs using Spring Boot and OpenAPI Generator. OpenAPI Generator simplifies the process of building APIs by generating server stubs and client SDKs from OpenAPI Specifications. 
  • We'll go through the steps of setting up a Spring Boot project, integrating OpenAPI Generator, and creating a real-time example API.

Nov 16, 2023

Empowering Flexibility: Dynamic Bean Activation and Deactivation in Spring Boot

  • In Spring Boot, you can create multiple beans of the same type by providing different names for each bean. To dynamically activate or deactivate a bean, you can use a configuration property or a condition to control the bean creation based on some conditions.
  • In a Spring Boot application, managing beans dynamically can be a powerful tool. One common scenario is creating two beans of the same type and toggling between them dynamically.

Nov 15, 2023

Building an AI-Powered Spring Boot Application from Scratch: A Step-by-Step Guide

  • In the ever-evolving landscape of technology, the integration of artificial intelligence (AI) into applications has become increasingly prevalent. In this tutorial, we'll embark on a journey to create an AI-powered Spring Boot application from scratch. 
  • Whether you're a seasoned developer or a newcomer, this guide will walk you through the process of integrating AI components, opening the door to a wide array of possibilities, from machine learning to natural language processing and computer vision.

Sep 23, 2023

Integrating Azure AD with Spring Boot: A Step-by-Step Guide

  • Integrating Azure Active Directory (Azure AD) with a Java and Spring Boot application for secure authentication and authorization involves several steps. Here's a step-by-step guide along with code examples for each component. 

Demystifying Identity Providers (IdPs): Key to Secure Authentication

  • An Identity Provider πŸ‘€(IdP) is a critical component of identity and access management systems. It serves as a trusted entity responsible for authenticating and managing user identities within a digital ecosystem. 
  • The primary purpose of an IdP is to verify the identity of users and provide them with secure access to various applications and services. 
  • IdPs are commonly used in single sign-on (SSO) solutions, enabling users to access multiple applications with a single set of credentials  

Sep 19, 2023

Part2 - End-to-End data Encryption - Different methods of encryption using public and private keys

  • There are primarily three methods of encryption using public and private keys:
    1. Symmetric encryption (Private-Key Encryption)
    2. Asymmetric Encryption (Public-Key Encryption)
    3. Hybrid Encryption

Sep 15, 2023

Demystifying Role based JWT Authentication in Modern Web Applications using spring boot

  • JWT-based authentication is a popular method for securing web applications and APIs. JWT stands for "JSON Web Token," and it is a compact and self-contained way to represent information between two parties. In the context of authentication, JWTs are used to verify the identity of a user.

Part1 - End-to-End data Encryption Using Public and Private Keys in java / Spring Boot 🌱

  • In today's digital age, securing sensitive information during data transmission over a network is paramount. Whether it's private messages, financial transactions, or any other form of data exchange, safeguarding data from prying eyes is crucial.
  • End-to-end encryption is a powerful technique that ensures data remains confidential during its journey across the network. 
  • In this guide, we will explore the concept of end-to-end encryption using public and private keys and demonstrate how to implement it in a Spring Boot application.


Sep 13, 2023

πŸš€ Building and Dockerizing a Spring Boot REST API with Fabric8 Maven Plugin

1. Introduction

  • Containerization has become a pivotal aspect of contemporary software engineering, significantly impacting application development, packaging, and deployment. 
  • In this comprehensive guide, we will delve into a more intricate example by creating a Spring Boot REST API, packaging it into a Docker container through the utilization of the Fabric8 Maven Plugin, and subsequently deploying and accessing this API. 🌟

You may also like

Kubernetes Microservices
Python AI/ML
Spring Framework Spring Boot
Core Java Java Coding Question
Maven AWS