When Should we Move to Microservices?

Projects should start off with a monolith. Microservices are an optimization for scaling a team and optimizing prematurely is the root of all evil. The post When Should we Move to Microservices? appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Durable Subscription with JMS and Spring Boot

When using the publish-subscribe domain with JMS, we often want to use durable subscriptions. But how can this be done with Spring Boot? The post Durable Subscription with JMS and Spring Boot appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Revolutionising Java Collections: The Advent of Sequenced Collections in Java 21

Addressing a long-standing gap in the collections framework, JEP 431 not only enhances the language's capabilities but also simplifies our development experience with the language. The post Revolutionising Java Collections: The Advent of Sequenced Collections in Java 21 appeared … | Continue reading


@foojay.io | 1 month ago

Foojay Podcast #38: Java in the Cloud

Cloud servers, Docker, Kubernetes, distributed systems, scaling up and down… these things are now part of our daily job, but Java wasn’t originally designed for it. The post Foojay Podcast #38: Java in the Cloud appeared first on foojay. | Continue reading


@foojay.io | 1 month ago

Five Apache Projects You Probably Haven’t Heard Of (Yet)

In this article, I'd like to introduce some Apache projects that are not so well-known. The post Five Apache Projects You Probably Haven’t Heard Of (Yet) appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Book Review: Modern Frontends with htmx

Get started experimenting with htmx and the many benefits it can bring to build dynamic, user-friendly, web pages! The post Book Review: Modern Frontends with htmx appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Handling security vulnerabilities in Spring Boot

Keeping your dependencies in check is crucial to ensure that your Spring Boot projects run smoothly and remain resilient in the face of ever-evolving threats. The post Handling security vulnerabilities in Spring Boot appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

lntelliJ IDEA: Selectively Commit Changes to a File

Selectively commit changes to a file using the Git integration in IntelliJ IDEA. Split unrelated changes into separate commits. The post lntelliJ IDEA: Selectively Commit Changes to a File appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Writing C Code in Java

The Foreign Function & Memory API (also called Project Panama) has come a long way since it started. The post Writing C Code in Java appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Benchmark JDBC connectors and Java 21 virtual threads

The impact of Java 21s virtual threads on the performance of MariaDB database exchanges. The post Benchmark JDBC connectors and Java 21 virtual threads appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Canary Releases with Apache APISIX

In this article, learn about canary releases and how you can configure one via Apache APISIX. The post Canary Releases with Apache APISIX appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Foojay Podcast #37: J-Fall Report, Part 4 (final)

Check the previous Foojay Podcasts for the first three parts of our J-Fall report. In this episode, you’ll get the remaining interviews we made that day. The post Foojay Podcast #37: J-Fall Report, Part 4 (final) appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Book Review: The Software Engineer’s Guidebook

Discover the ultimate guidebook for software engineers, packed with essential tips and strategies for success in the industry. The post Book Review: The Software Engineer’s Guidebook appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Integrate executable Java code in your blog posts, part 2: How to use dependencies

Not only "simple" Java code can be added to blog posts. As we illustrate here, a more complex class with a record and Maven dependencies can be created and executed within a webpage. The post Integrate executable Java code in your blog posts, part 2: How to use dependencies appea … | Continue reading


@foojay.io | 2 months ago

Profiling Maven Projects with my IntelliJ Profiler Plugin

Or: I just released version 0.0.11 with a cool new feature that I can't wait to tell you about... The post Profiling Maven Projects with my IntelliJ Profiler Plugin appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

FEPCOS-J (3) – Build native executables of Java-coded networked systems

An example shows how Java developers can build native executables of declaratively composed networked systems by using FEPCOS-J and GraalVM. The post FEPCOS-J (3) – Build native executables of Java-coded networked systems appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

[Unit] Testing Supabase in Kotlin using Test Containers – PART 2

In this article, we continue diving into TestContainers and Supabase, and run unit tests against a full local self-hosted Supabase. The post [Unit] Testing Supabase in Kotlin using Test Containers – PART 2 appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Testing Spring Boot JMS with ActiveMQ Artemis and Testcontainers

Testcontainers is a fantastic way to start resources as containers. Even if there is no pre-made container, you can always use GenericContainer to run virtually any container image. The post Testing Spring Boot JMS with ActiveMQ Artemis and Testcontainers appeared first on foojay … | Continue reading


@foojay.io | 2 months ago

Foojay Podcast #36: J-Fall Report, Part 3

In this part, hear about Maven, contributing to Open Source projects, JOOQ, Desktop Applications, Thymeleaf, htmx, and Security. The post Foojay Podcast #36: J-Fall Report, Part 3 appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Creating Executables For JavaFX Applications

Let's take a look in this article at the current state of what can be done with jpackage and GitHub Actions for JavaFX. The post Creating Executables For JavaFX Applications appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Chopping the monolith in a smarter way

Instead of forking the call on the client side, we fork the call on the Gateway side. The post Chopping the monolith in a smarter way appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Who Killed the JVM? Attaching a Debugger Twice

The ability to disconnect and then reattach debuggers is helpful for many complex debugging scenarios and can help you debug faster. The post Who Killed the JVM? Attaching a Debugger Twice appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Couch to fully-observed code with Spring Boot 3.2, Micrometer Tracing, and Digma

Collecting important data about your code in dev and test has become trivial, it's now also getting easier to put that data to use. The post Couch to fully-observed code with Spring Boot 3.2, Micrometer Tracing, and Digma appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Effective Cloud-Native Development with Open Liberty in Visual Studio Code

Liberty Tools for Visual Studio Code enables fast, easy and efficient development of cloud native Java applications with Open Liberty. The post Effective Cloud-Native Development with Open Liberty in Visual Studio Code appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Foojay Podcast #35: Dublin JUG

Today, we are traveling to Dublin to learn more about its Java community! The post Foojay Podcast #35: Dublin JUG appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Virtual Event: JetBrains AI Launch Event

Don’t miss the online JetBrains AI launch event, where we'll release our AI-powered coding companion, JetBrains AI Assistant. The post Virtual Event: JetBrains AI Launch Event appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

The Theory of Debugging

What do you do when you have a bug? Using a well defined process instead of looking everywhere, can change the issue resolution process. The post The Theory of Debugging appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Exploring the OpenTelemetry Collector

Let's explore aspects of the OpenTelemetry Collector that sits at the center of the OpenTelemetry architecture but is unrelated to the W3C Trace Context. The post Exploring the OpenTelemetry Collector appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Video: Vaadin Drag & Drop Support. It’s so easy!

In this video I show how simple it can be to add drag and drop to a Vaadin application! The post Video: Vaadin Drag & Drop Support. It’s so easy! appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Strategies for Managing State in Chronicle Services

When implementing an application using a Microservice architecture, it is crucially important to be aware of the potential pitfalls of managing mutable state in components. The post Strategies for Managing State in Chronicle Services appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

JavaFX Links of November 2023

Have fun with this overview of the "JavaFX LinksOfTheWeek" that got published on jfx-central.com during November. The post JavaFX Links of November 2023 appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Custom Events in the Blocky World: Using JFR in Minecraft

I was searching for some JFR-related settings on the internet when I stumbled upon the /jfr command that exists in Minecraft... The post Custom Events in the Blocky World: Using JFR in Minecraft appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Webinar: Harnessing the Power of AI Assistant in IntelliJ IDEA

In this session, Anton Arhipov will demonstrate the capabilities of AI Assistant in IntelliJ IDEA. You will learn how the tool helps you explore and improve existing code as well as write new code in different scenarios. The post Webinar: Harnessing the Power of AI Assistant in I … | Continue reading


@foojay.io | 2 months ago

SpringBoot 3.2 + CRaC

To test the new support for CRaC in SpringBoot 3.2, let's use the SpringBoot Petclinic demo. The post SpringBoot 3.2 + CRaC appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Foojay Podcast #34: J-Fall Report, Part 2

We did interviews with speakers and guests at J-Fall in the Netherlands. In this part, we touch on topics related to the developers' lives. The post Foojay Podcast #34: J-Fall Report, Part 2 appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Custom JFR Events: A Short Introduction

Find out how JFR allows you to implement your events to record custom information directly in your profiling file. The post Custom JFR Events: A Short Introduction appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Java for desktop applications: Tips and Tricks (Part 1)

Improve your desktop applications with easy-to-apply tips! The post Java for desktop applications: Tips and Tricks (Part 1) appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Video: “If I decide to stay with Oracle Java what issues will I face?”

Simon Ritter and Gerrit Grunwald answer a question that they hear repeatedly: “If I decide to stay with Oracle Java (rather than migrate to an OpenJDK distribution) what issues will I face?" The post Video: “If I decide to stay with Oracle Java what issues will I face?” appeared … | Continue reading


@foojay.io | 3 months ago

Feedback from calling Rust from Python

Improving low-level integration with ctypes to the generic ready-to-use pyo3 library. The post Feedback from calling Rust from Python appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Announcing the Build Server for Gradle Open-Source Repository

We are excited to announce our decision to officially open-source the Build Server for Gradle project! The post Announcing the Build Server for Gradle Open-Source Repository appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Explore project structure with IntelliJ IDEA’s Dependency Matrix

In this tutorial, we'll look at exploring project structure with IntelliJ IDEA's Dependency Matrix. When working with large, complex software projects, we need to understand the dependencies between components in your projects. IntelliJ IDEA has a feature called Dependency Struct … | Continue reading


@foojay.io | 3 months ago

Foojay Podcast #33: J-Fall Report, Part 1

This is part 1, and we talk about J-Fall, of course. Plus, much more, with Brian Vermeer, Pratik Patel, and many more! The post Foojay Podcast #33: J-Fall Report, Part 1 appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Unexpected Things That Make You a Senior Developer

In the end, it’s essential to keep in mind that people will mostly remember how you reacted to a disaster. The post Unexpected Things That Make You a Senior Developer appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Preserving Software Continuity: Empowering Failover Strategies for Uninterrupted Operations

Let’s examine the world of failover strategies and explore how they safeguard software continuity. The post Preserving Software Continuity: Empowering Failover Strategies for Uninterrupted Operations appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Live (re)compile, (re)load, (re)execute Java code in 100 LoC

In this article, we'll write a program (The Reloader) to easily play with Java code without the need to know how to compile or run the code or print the result. The post Live (re)compile, (re)load, (re)execute Java code in 100 LoC appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Loom is just HyperThreading in Java

I had an epiphany: Aren't virtual threads with Loom just a version of HyperThreading on the JVM? The post Loom is just HyperThreading in Java appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Digma, Apache APISIX, and OpenValue Sponsor Foojay.io at JFall 2023

Last week's JFall 2023 was a high point in the evolution of Foojay.io, the place for friends of OpenJDK. The post Digma, Apache APISIX, and OpenValue Sponsor Foojay.io at JFall 2023 appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Payara Platform Surpasses 150,000 Monthly Users, Achieving Global Adoption Milestone

Jakarta EE application server Payara Platform reaches 150,000 monthly users, a key global milestone! The post Payara Platform Surpasses 150,000 Monthly Users, Achieving Global Adoption Milestone appeared first on foojay. | Continue reading


@foojay.io | 3 months ago