Multi-Tenancy in Spring Boot: Sharding vs. Schema Isolation
As applications grow, multi-tenancy becomes a key architectural concern, especially for SaaS platforms serving multiple customers. Multi-tenancy allows multiple tenants (organizations or users) to...
View ArticleOptimizing Java Apps for NUMA: NUMA-Aware Threading
Optimizing Java applications for Non-Uniform Memory Access (NUMA) architectures involves understanding how memory access patterns and thread placement can impact performance. NUMA systems have multiple...
View ArticleBuilding a Semantic Search System with Spring AI and PGVector
Semantic search enhances traditional keyword-based search by understanding the meaning and context of queries rather than relying on exact keyword matches. This approach is useful for applications such...
View ArticleSpring AI Testing: AI Evaluators Example
Large Language Models (LLMs) have become an integral part of modern applications, but ensuring their accuracy and reliability is crucial. Spring AI provides tools to evaluate LLM responses effectively....
View ArticleDeep JVM Observability with eBPF: Beyond Prometheus
Modern Java applications often run in complex, distributed environments where performance monitoring and observability are critical. While tools like Prometheus and JMX provide valuable insights into...
View ArticleSecuring Microservices with SPIFFE and Spring Security
Microservices architectures introduce new security challenges, particularly in workload authentication and identity management. SPIFFE (Secure Production Identity Framework for Everyone) provides a...
View ArticleExplore the gather Method in Java 22 java.util.stream
Java 22 unveils an exciting preview feature through JEP 461: Stream Gatherers, marking a significant enhancement to the Stream API. Let’s explore the gather method in Java 22 java.util.stream. 1....
View ArticleSpring Security One-Time Token Login Example
One-time token (OTT) authentication is a secure mechanism often used when a user needs temporary access without a permanent password. This method is common for passwordless logins, email verification,...
View ArticleFeature Flags in Spring Boot: Unleash vs Togglz
Modern applications need the ability to toggle features dynamically without redeploying code. Feature flags (or feature toggles) enable:✅ Gradual feature rollouts✅ A/B testing capabilities✅ Emergency...
View ArticleSpring Cloud AWS FIFO Queue Support Example
Amazon Simple Queue Service (SQS) is a fully managed message queuing service. AWS provides two types of SQS queues: Standard and FIFO (First-In-First-Out). Let us delve into understanding Spring Cloud...
View ArticleClosing Scanner Java Example
1. Introduction The java.util.Scanner class can read input from System.in, File, InputStream, Path, Readable, String, etc. It implements the Closeable and AutoCloseable interfaces. The scanner close...
View ArticleJava Naming Conventions Example
Java naming conventions are crucial for writing readable, maintainable, and standardized code. They define how classes, methods, variables, constants, and packages should be named to ensure consistency...
View ArticleFirebase + Spring Boot CI/CD: Zero Downtime Deployments Made Simple
Imagine this: You’ve just finished a new feature for your app—a sleek frontend update in Firebase and a powerful new API endpoint in Spring Boot. Now comes the critical moment: getting it live without...
View ArticleHow to Dynamically Ignore Fields in Jackson
Jackson is a popular Java library for JSON processing. Sometimes, we need to ignore fields dynamically at runtime instead of using static annotations like @JsonIgnore. This article explores various...
View ArticleSpring Boot Performance with Java Virtual Threads
For years, Java developers have wrestled with the limitations of platform threads—heavyweight, OS-managed resources that make high-concurrency applications expensive to scale. Enter Project Loom and...
View ArticleEnabling HTTP/2 in Spring Boot with Tomcat
HTTP/2 is a major revision of the HTTP protocol that improves performance by enabling multiplexed streams, header compression, and server push. Spring Boot, which uses Tomcat as its default embedded...
View ArticleBuilding Predictive APIs with TensorFlow and Spring Boot
1. Why Combine AI/ML with Spring Boot? Modern applications increasingly need smart capabilities – from recommendation engines to fraud detection. While Python dominates ML development, Java teams can...
View ArticleHow to Handle Generic List Matchers in Mockito
Mockito is a widely used Java library for creating mock objects in unit tests. Mocking enables us to replace the behaviour of an object or class with a simulated version, making it easier to test how...
View ArticleExporting the Maven Version Number to a File
When deploying applications, tracking the correct version is essential for debugging, rollback strategies, and ensuring compatibility with other services. In Maven-based Java projects, the version...
View ArticleTemporal.io for Java Microservices Workflows
Temporal.io is an open-source workflow orchestration platform that enables developers to build resilient applications by managing long-running business processes and workflows. In Java-based...
View Article