{ "@context": "https://schema.org", "@graph": [ { "@type": "WebSite", "@id": "https://www.ggorantala.dev/#website", "url": "https://www.ggorantala.dev/", "name": "Gopi Gorantala", "description": "Staff engineer building Kafka and Flink platforms for banking. Production failures traced to root cause." }, { "@type": "Person", "@id": "https://www.ggorantala.dev/#person", "name": "Gopi Gorantala", "url": "https://www.ggorantala.dev/", "jobTitle": "Staff Software Engineer", "worksFor": { "@type": "Organization", "name": "ING Bank" }, "sameAs": [ "https://x.com/ggorantala", "https://www.linkedin.com/in/ggorantala/", "https://github.com/ggorantala", "https://leetcode.com/ggorantala" ] } ] }
Skip to content

Gopi Gorantala

Staff engineer architecting Kafka and Flink platforms for banking, where a dropped event is a reconciliation break, not a retry. Through javahandbook.com, I share production-tested guidance on building reliable event-driven systems.

Maven Multi-Module Projects

Learn Maven multi-module projects with examples. Understand parent POM vs child modules, aggregator vs inheritance, and see a complete multi-module setup for Java applications.

Maven Profiles

Learn how to use Maven profiles for environment-specific builds. Activate profiles by command-line, property, or OS, and see a practical dev vs prod build example.

Maven Plugins

Learn how to use Maven plugins like the Compiler Plugin, Surefire Plugin, and Shade Plugin. Configure Maven to compile code, run tests, and create fat JARs in Java projects.

Handling Dependency Conflicts

Learn how to handle dependency conflicts in Maven. Use <dependencyManagement> for version consistency, override transitive dependencies, and analyze conflicts with mvn dependency:analyze.

Managing Dependencies in Maven

Learn how to manage dependencies in Maven. Understand how to add dependencies in pom.xml, explore dependency scopes (compile, provided, runtime, test), and see how Maven resolves transitive dependencies.

Common Maven Commands

Apache Maven is one of the most popular build automation and dependency management tools in the Java ecosystem. While Maven offers a wide range of commands, a handful of them are used daily by Java developers when building, testing, and managing projects. In this lesson, we’ll cover the most

Maven Build Life Cycle

When working with Apache Maven, every command you execute follows a predefined sequence of steps known as the build lifecycle. Understanding this lifecycle is essential for any Java developer who wants to build, test, and deploy applications efficiently. In this guide, we’ll explore: * Maven’s three standard lifecycles * The

NoSuchBeanDefinitionException: The Most Common Spring Bean Error

Learn how to fix NoSuchBeanDefinitionException in Spring Boot with clear examples and best practices for dependency injection, package scanning, and bean registration.

NoSuchBeanDefinitionException: The Most Common Spring Bean Error

How to fix the "port 8080 already in use error on Windows and macOS

If you're trying to start a web server and see the error: “Web server failed to start. Port 8080 was already in use.” You're not alone. This is a common problem when a port of your app needs—often 8080 for development—is already being used

Paid

Subsets/Powerset

Generate all possible subsets using bit manipulation: left shift operators, binary representation patterns. Master powerset algorithms for coding interviews. Asked by Apple, Microsoft, Amazon, Facebook with multi-language solutions.