- A Keycloak Example: Building My First MCP Server Tools With Quarkus
Recently, I explored how the Model Context Protocol (MCP) is gaining traction in the Java ecosystem, with frameworks like Spring AI, Quarkus, and LangChain4j starting to adopt it for integrating language models via standardized interfaces. It was also time to start experimenting with writing an MCP Server myself (well maybe not the first time). Certainly, I don’t want to be left out of all the cool things being demonstrated by the community. The goal for me is to learn, and creating perhaps a more practical example.
In this post I am going to choose Keycloak, and write an experimental MCP server implementation for Keycloak. The post is also to spark interest around this topic: Will it be useful to have an MCP server for Keycloak?
- Spring Cloud LoadBalancer vs Netflix Ribbon
The Spring Cloud ecosystem has been evolving significantly over the years. At first, it was mainly based on the Netflix stack, then it started shifting towards its own solutions. One of the components that has been substituted is Netflix Ribbon. Ribbon is a client-side load balancer and has been replaced by Spring Cloud LoadBalancer.
Spring Cloud LoadBalancer is a more modern and maintainable solution. In this article, you will learn the differences between the two, their designs, and practical examples in Java.
- Squid Game: The Clean Code Trials — A Java Developer's Survival Story
"In the world of code, there are only two outcomes: evolve or perish."
Episode 1: The Red Light of Rigid Code
Scene: A vast ODC filled with desks, whiteboards, and terminals. The chairs are marked with red and green stickers. Software contestants sitting, trembling, gazing at a giant robot doll that watches them intently.
- Jakarta EE 11 and the Road Ahead With Jakarta EE 12
Jakarta EE 11 is now available, and it’s more than just a version update. It’s the beginning of a new era in enterprise Java—one that aligns with modern Java standards, simplifies the platform, and positions it for the future of cloud-native development. But it doesn’t stop there. Jakarta EE 12 is already shaping up to push the platform even further.
Let’s explore what Jakarta EE 11 delivers and how Jakarta EE 12 is preparing us for a more powerful and modern Java ecosystem.
- Essential JVM Tools for Garbage Collection Debugging
Java garbage collection is a boon to programmers, but it can cause headaches in production. Poorly-tuned GC is extremely resource-hungry.
Tuning and troubleshooting GC is therefore an important skill. How do you obtain information on how GC is performing? What tools can you use to identify bottlenecks and inefficiencies?