Calling Microservices in Java: Part 1

This article explores various approaches to calling microservices in Java, from simple RESTful APIs to advanced. Learn more! The post Calling Microservices in Java: Part 1 appeared first on foojay. | Continue reading


@foojay.io | 2 days ago

A Modern Approach to Middleware with Chronicle

Financial institutions today face significant challenges in updating their legacy middleware systems which are crucial for supporting millions of lines of code serving critical business functions. The post A Modern Approach to Middleware with Chronicle appeared first on foojay. | Continue reading


@foojay.io | 2 days ago

NODES 2024: How to Submit a Technical Presentation

Technical events are a great way to learn new things, connect with people, and share knowledge with others. The post NODES 2024: How to Submit a Technical Presentation appeared first on foojay. | Continue reading


@foojay.io | 3 days ago

The Vary HTTP Header

Recently, I stumbled upon the list of all registered HTTP Headers. This post is dedicated to the Vary HTTP Header. The post The Vary HTTP Header appeared first on foojay. | Continue reading


@foojay.io | 4 days ago

Software Testing as a Debugging Tool

Software testing functions as a critical debugging tool, significantly enhancing code reliability and streamlining the development process. The post Software Testing as a Debugging Tool appeared first on foojay. | Continue reading


@foojay.io | 4 days ago

Oracle Alternatives Survey & Report

Azul is planning to issue an Oracle "alternatives" Report in late July, and would like your help to complete the survey. The post Oracle Alternatives Survey & Report appeared first on foojay. | Continue reading


@foojay.io | 6 days ago

Hello eBPF: XDP-based Packet Filter (9)

Learn about new support for XDP to create a simple package blocker for eBPF. The post Hello eBPF: XDP-based Packet Filter (9) appeared first on foojay. | Continue reading


@foojay.io | 6 days ago

Diagnosing User-Reported Issues Using WireQuery

WireQuery is a tool that helps you solve user-reported issues by combining session replay with capturing API calls. In this article, I will explain how it works, how to use it and how it can be integrated into your projects. The post Diagnosing User-Reported Issues Using WireQuer … | Continue reading


@foojay.io | 6 days ago

Building a Simple Home Assistant using Langchain4j and Raspberry Pi

Discover how to build a smart home assistant using Langchain4j and Raspberry Pi, featuring capabilities such as question-answering with RAG, integrating external APIs, controlling smart devices, and utilizing camera and multimodal functionalities. The post Building a Simple Home … | Continue reading


@foojay.io | 7 days ago

SQL Query Optimization: How to Identify and Optimize Slow SQL Queries

In this article, we want to share our experience using real-life examples on how to identify and optimize slow SQL queries, especially when working with relational database management systems like PostgreSQL, MySQL, MSSQL, Oracle, etc. The post SQL Query Optimization: How to Iden … | Continue reading


@foojay.io | 10 days ago

Spring AI: How to Write GenAI Applications with Java

We'll look at how to write GenAI applications with Java using the Spring AI framework and utilize RAG for improving answers. The post Spring AI: How to Write GenAI Applications with Java appeared first on foojay. | Continue reading


@foojay.io | 10 days ago

Duplicate Finder for Documentation

Let's make a duplicate finder for documentation together – a tool to quickly detect non-exact, or fuzzy, matches in large text repositories. The post Duplicate Finder for Documentation appeared first on foojay. | Continue reading


@foojay.io | 11 days ago

Is your Java application ready for the next generation of server CPUs?

With every major cloud provider now offering Arm-based instances, it’s time to start looking at what you need to do to migrate your Java applications to Aarch64. The post Is your Java application ready for the next generation of server CPUs? appeared first on foojay. | Continue reading


@foojay.io | 11 days ago

Remotely Recording a JFR Log from a Container (Without Using the Command Line)

JFR logs are easily obtained by simply going into the command line. But what if you don't have access to the command line or terminal directly on the system where the JVM is running? The post Remotely Recording a JFR Log from a Container (Without Using the Command Line) appeared … | Continue reading


@foojay.io | 12 days ago

Let’s Replace the synchronized Keyword

Let's replace the synchronized keyword to be more virtual threads friendly in a code readable way. The post Let’s Replace the synchronized Keyword appeared first on foojay. | Continue reading


@foojay.io | 12 days ago

Why This JCON Europe Talk Is Unmissable (Part 2)

My talk titled "Jakarta EE 11 - Performance and Developer Productivity" will give you a full overview of what to expect from the upcoming Jakarta EE 11 release. The post Why This JCON Europe Talk Is Unmissable (Part 2) appeared first on foojay. | Continue reading


@foojay.io | 13 days ago

Foojay Podcast #48: JUG Oberpfalz, JCON Conference, and JAVAPRO Magazine

In this episode, we are in Oberpfalz, Germany, for a particular reason; the organizers of the local JUG are the same people responsible for the JCON conference in Cologne in a few weeks. The post Foojay Podcast #48: JUG Oberpfalz, JCON Conference, and JAVAPRO Magazine appeared fi … | Continue reading


@foojay.io | 13 days ago

Writting a Data Orchestrator in Java

Kestra is an Open Source project that can be found here: https://github.com/kestra-io/kestra, for an introduction to its functionalities, you can read this article on the subject. The post Writting a Data Orchestrator in Java appeared first on foojay. | Continue reading


@foojay.io | 17 days ago

Writing a Data Orchestrator in Java

What makes Kestra unique amongst all the data orchestrators and how to leverage the power of the Java platform and its ecosystem to build a performant, scalable, and feature-rich data orchestrator. The post Writing a Data Orchestrator in Java appeared first on foojay. | Continue reading


@foojay.io | 17 days ago

Crowd-Publishing the 10x Java Dev Book

The “enlightenment roadmap” of a Java developer can be scary. How do you become the 10x Java Developer you always dreamed of becoming? The post Crowd-Publishing the 10x Java Dev Book appeared first on foojay. | Continue reading


@foojay.io | 17 days ago

Five ways to pass parameters to Apache APISIX

In this post, we list five alternatives to pass parameters server-side and explained how to access them on Apache APISIX. The post Five ways to pass parameters to Apache APISIX appeared first on foojay. | Continue reading


@foojay.io | 19 days ago

JavaFX Links of April 2024

Here is the overview of the JavaFX LinksOfTheMonth of April 2024, published on jfx-central.com during this month. The post JavaFX Links of April 2024 appeared first on foojay. | Continue reading


@foojay.io | 20 days ago

Why This JCON Europe Talk Is Unmissable (Part 1)

JCON Europe in Cologne is around the corner (and here are your free Foojay JCON tickets). Why should you go? Well, one reason is that the talks will be awesome. Here's the start of a series of reasons why some of them are absolutely unmissable! The post Why This JCON Europe Talk … | Continue reading


@foojay.io | 20 days ago

Java: Functional Programming f(x) – Part1

Dive into the world of functional programming in Java and through declarative programming we can able write a better and concise code. The post Java: Functional Programming f(x) – Part1 appeared first on foojay. | Continue reading


@foojay.io | 24 days ago

The High Availability Features of Microservices using Chronicle Services

Learn how Chronicle Services, a Java-based framework optimised for low-latency microservices, meets critical requirements by integrating HA, performance, and data persistence. The post The High Availability Features of Microservices using Chronicle Services appeared first on fooj … | Continue reading


@foojay.io | 24 days ago

Hello eBPF: Generating C Code (8)

This week we generate the C code for struct and map definitions automatically, using annotation processors to simplify writing programs. The post Hello eBPF: Generating C Code (8) appeared first on foojay. | Continue reading


@foojay.io | 25 days ago

Using my new Raspberry Pi to run an existing GitHub Action

Recently, I mentioned how I refactored the script that kept my GitHub profile up-to-date. Since Geecon Prague, I'm also a happy owner of a Raspberry Pi. The post Using my new Raspberry Pi to run an existing GitHub Action appeared first on foojay. | Continue reading


@foojay.io | 26 days ago

Debug Without Breakpoints

Learn how to use IntelliJ IDEA's Pause – a lesser known feature that will help you diagnose UI freezes, deadlocks, livelocks, and more The post Debug Without Breakpoints appeared first on foojay. | Continue reading


@foojay.io | 27 days ago

Debugging Using JMX Revisited

Learn how to leverage JMX and Spring Boot for advanced debugging and management, enabling efficient monitoring and control of Java applications. The post Debugging Using JMX Revisited appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Smarter Logging in Spring Boot with AOP

Smart logging with AOP in Spring boot with our smart Logging, leveraging AOP for detailed, configurable logging. Ideal for cleaner code. The post Smarter Logging in Spring Boot with AOP appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Getting Started with bld

bld is an up-and-coming build tool for the Java ecosystem. This article guides you through getting set up to use it in your own projects. The post Getting Started with bld appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Foojay Podcast #47: Artificial Intelligence and Machine Learning with Java

The way we search for information and develop software has changed a lot since then as the use of Artificial Intelligence suddenly became a lot easier. What can we expect in the near future, and how can we program AI ourselves with Java? Let's find out… The post Foojay Podcast #4 … | Continue reading


@foojay.io | 1 month ago

Free Foojay.io Tickets for JCON EUROPE, Cologne!

Get your free tickets for Foojay.io collaborators of all shapes and sizes, whoever you are reading this, you are welcome to join in for free via the link in this article! The post Free Foojay.io Tickets for JCON EUROPE, Cologne! appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

JUG Munich hosts the JCP Executive Committee meeting to 25th anniversary of JCP

This year, the first meeting of the JCP Executive Committee will take place in Munich with the support of MicroDoc. The post JUG Munich hosts the JCP Executive Committee meeting to 25th anniversary of JCP appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Hello eBPF: Auto Layouting Structs (7)

Let's look into the eBPF memory layout and alignment of structs transferred between the kernel and user-land. The post Hello eBPF: Auto Layouting Structs (7) appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Ensuring the right usage of Java 21 new features

How to ensure the right usage of the new version of Java 21, and improve performance and clarity in our code base. The post Ensuring the right usage of Java 21 new features appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Calling Gemma with Ollama, TestContainers, and LangChain4j

Lately, for my Generative AI powered Java apps, I've used the Gemini multimodal large language model from Google. But there's also Gemma, its little sister model. The post Calling Gemma with Ollama, TestContainers, and LangChain4j appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Effective cloud-native Java app development with Open Liberty in IntelliJ IDEA

How to use Liberty Tools for IntelliJ IDEA to enable rapid, easy, and efficient development of cloud-native Java applications with Liberty. The post Effective cloud-native Java app development with Open Liberty in IntelliJ IDEA appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Search in Documentation with a JavaFX Chat LangChain4j Application

Let's use an existing documentation set as the data for a ChatGPT-like application, created with JavaFX and LangChain4J. The post Search in Documentation with a JavaFX Chat LangChain4j Application appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

12 Text Tools For Developers

Text data and text manipulation of it is also part of a developer job. Let's see a few free text tools to simplify your job. The post 12 Text Tools For Developers appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Java on Raspberry Pi 5 with Pi4J

Alexander Liggesmeyer contributed a new plugin to Pi4J: GpioDPlugin. As a Pi4J-user, he wanted to run his applications on the Raspberry Pi 5. The post Java on Raspberry Pi 5 with Pi4J appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Debugging Streams with Peek

Learn how to debug Java streams effectively using the peek() method with practical examples and tips for optimizing your code. The post Debugging Streams with Peek appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

How to Detect Cache Misses Using Observability

In this article, we'll examine cache misses and, in general, learn about the caching concept and how to implement it in Spring Boot. The post How to Detect Cache Misses Using Observability appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Changes Included in Release 24.02 of Azul Zing Builds of OpenJDK

In addition to many improvements and fixes, the new Stable Azul Zing Build of OpenJDK includes the new Long Term Support (LTS) version, OpenJDK 21. The post Changes Included in Release 24.02 of Azul Zing Builds of OpenJDK appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Records for Cleaner and More Expressive Parameterized Tests in JUnit 5

Let's examine how to leverage Java records for parameterized tests through a concrete example – testing an expression evaluator. The post Records for Cleaner and More Expressive Parameterized Tests in JUnit 5 appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Improving upon my OpenTelemetry Tracing demo

Last year, I wrote a post on Open Telemetry Tracing to understand more about the subject. I also created a demo around it... The post Improving upon my OpenTelemetry Tracing demo appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Foojay Podcast #46: JUG Switzerland

In this episode, Frank and the Foojay Podcast leave the European Union and step over the border of Switzerland, the country where the Red Cross was started, and many international institutions have their headquarters. The post Foojay Podcast #46: JUG Switzerland appeared first on … | Continue reading


@foojay.io | 1 month ago

JavaFX Links of March 2024

Here is the overview of the JavaFX LinksOfTheMonth of March 2024, published on jfx-central.com during this month. The post JavaFX Links of March 2024 appeared first on foojay. | Continue reading


@foojay.io | 1 month ago