Building Real-Time Applications to Process Wikimedia Streams Using Kafka and Hazelcast

In this tutorial, developers, solution architects, and data engineers can learn how to build high-performance, scalable, and fault-tolerant applications that react to real-time data using Kafka and Hazelcast. We will be using Wikimedia as a real-time data source. Wikimedia provides various streams and APIs (Application Programming Interfaces) to access real-time data about edits and changes made to their projects. For …

Read More »

System Architecture: Move Authentication to the API Gateway

When exposing an application to the outside world, consider a Reverse-Proxy or an API Gateway to protect it from attacks. Rate Limiting comes to mind first, but it shouldn’t stop there. We can factor many features in the API Gateway and should be bold in moving them from our apps. In this post, I’ll show how to implement authentication at …

Read More »

ArchUnit: Testing Your Architecture

ArchUnit is a library that allows us to test our architecture (layering/slicing/(naming) conventions, and more). Why does this matter? It’s all about leaving a legacy and safeguarding it. During the lifecycle of a project, people might shift roles, join the team, … And might not be aware of the conventions within the team/organization. Testing your architecture is both an aid …

Read More »

Extending Availability of IBM Semeru Runtimes V11 Beyond October 2024

IBM has extended the availability of IBM Semeru Runtimes V11 from Oct 2024 to Nov 2026. Semeru Runtimes is IBM’s build of OpenJDK with Eclipse OpenJ9 technology. The IBM Semeru Runtimes support page (which includes downloads) is now updated to reflect this additional two years of availability for Version 11. What is IBM Semeru Runtimes? IBM Semeru Runtimes is a …

Read More »

OpenRewrite: Automatic Code Refactoring and Maintenance – Part 2

In the previous article, we outlined the significance of the OpenRewrite Library and its integration at an elevated level. This article explains how to improve, refactor, and move a Spring Boot application with OpenRewrite. Source: OpenReWrite Before proceeding, we shall understand the various goals in the Maven or Gradle plugin configuration. The OpenRewrite Maven offers the following goals: mvn rewrite:cyclonedx …

Read More »

Chronicle Services: Building Fast Microservices with Java

Low Latency? In computing, latency is defined as the length of time to perform some task. This could be the time it takes to respond to an interrupt from hardware or the time it takes for a message sent by one component to be available to its recipient. In many cases, latency is not seen as a primary non-functional concern …

Read More »

Disco API: Helping You To Find Any OpenJDK Distribution

Did you know Foojay is not only a human-readable OpenJDK knowledge base but also provides the Disco API that lets you search all OpenJDK distributions? And even if you didn’t know, you probably already are using it, as it’s integrated into SDKMAN!, JReleaser, JBang!, Gradle toolchain, Paketo buildpacks,and more. The Disco API (i.e., the short name for the Universal OpenJDK …

Read More »

The Evolution of Bugs

Memory Management: The Past and The Present The Classic Challenges: Memory Leaks and Corruption Enter Garbage Collection: A Mixed Blessing Memory Profiling: The Contemporary Solution Concurrency: A Double-Edged Sword The Bright Side: Predictable Threading The Murky Waters: Multi-Container Concurrency Reproducing The Elusive: Threading Bugs Race Conditions: The Ever-Present Ghost The Pervasiveness of State Bugs What Are State Bugs? From Simple …

Read More »

Five Ways to Use Gradle Enterprise to Identify and Manage Flaky Tests

Dealing with flaky tests is a significant challenge in software development. These unpredictable and inconsistent tests can pass or fail without any changes in code, casting doubt on the reliability of your toolchain and ultimately on the application itself. The presence of flaky tests can significantly impact developer confidence and productivity. To better understand why you need to address these …

Read More »

New JavaFX theme library “Transit” released

A new Java (JavaFX) theme has been released. This is a new theme called “Transit” and it builds upon the lessons learned while developing JMetro. The code is hosted on Github. It is not meant to be JMetro 2, it will be an entirely new theme. Strengths and Key Principles This theme follows some of the design principles and has …

Read More »