Foojay Podcast #57: Welcome to OpenJDK (Java) 23

OpenJDK (Java) 23 is (almost) here! OpenJDK 23 introduces three new features to the language and runtime and many bug fixes, small improvements, and a longer list of preview features. What are the most important facts about this release? Let's ... The post Foojay Podcast #57: Wel … | Continue reading


@foojay.io | 2 months ago

Health Check Response Format for HTTP APIs

I'm continuing my journey on getting more familiar with HTTP APIs by reading related RFCs. The post Health Check Response Format for HTTP APIs appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

DRY your Apache APISIX config

DRY is an important principle in software development. In this article, you learn how to apply it to Apache APISIX configuration. The post DRY your Apache APISIX config appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

A Fresh Look at Embedded Java

Java is the environment that offers the highest developer productivity thanks to its many amazing tools, evolutions, and community. The post A Fresh Look at Embedded Java appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Press the Easy Button: Organize a Virtual Conference Schedule with a Graph Database

Putting together a conference schedule for NODES 2024 (one of my favorite events of the year) is a massive undertaking, but my colleague and I used technologies and tools at our disposal to make this process a little more efficient and greatly reduce opportunities for mistakes. T … | Continue reading


@foojay.io | 2 months ago

Browserless Testing of Vaadin Applications with Karibu Testing

About a testing framework that stands out for its ability to run browserless testing, offering several advantages over traditional end-to-end testing approaches, such as Selenium, Playwright, or Cypress. The post Browserless Testing of Vaadin Applications with Karibu Testing appe … | Continue reading


@foojay.io | 2 months ago

Top Security Flaws Hiding In Your Code Right Now: And How To Fix Them

Let's examine the three most common injection attack types—SQL injection, Deserialization Injection, and Logging Injection—and discuss ways to prevent them. The post Top Security Flaws Hiding In Your Code Right Now: And How To Fix Them appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Updating the Twelve-Factor app methodology: A call for participation

The 12 factor app methodology is being updated and we need your help with it! Contribute your ideas and help us modernize 12-Factor. The post Updating the Twelve-Factor app methodology: A call for participation appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Java 23: What’s New?

This new version of Java is rather sparse in terms of new features, and few of those currently under development have made it out of the preview. The post Java 23: What’s New? appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Implementing the Idempotency-Key specification on Apache APISIX

A simple implementation of the Idempotency-Key header specification on Apache APISIX via a plugin. The post Implementing the Idempotency-Key specification on Apache APISIX appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

When (not) to write an Apache APISIX plugin

Practical alternatives to writing a custom plugin, offering solutions you can quickly implement in your projects. The post When (not) to write an Apache APISIX plugin appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

How to profile a performance issue using Spring Boot profiling tools

Profiling performance issues and establishing robust monitoring and observability are critical for maintaining the health and efficiency of your Spring Boot application. The post How to profile a performance issue using Spring Boot profiling tools appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

JavaFX Links of August 2024

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


@foojay.io | 2 months ago

Four Easy Ways to Analyze your Java and Kotlin Code for Security Problems

Nowadays, the security of your applications is just as important as the functionality they provide. The post Four Easy Ways to Analyze your Java and Kotlin Code for Security Problems appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Get Recognized for your Cloud-Native Java Development Skills with this New Badge

Earn this brand-new badge, recognizing your ability to effectively develop basic cloud-native Java applications ready for the cloud. The post Get Recognized for your Cloud-Native Java Development Skills with this New Badge appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

IBM Semeru Runtimes for Java includes FIPS 140-3 certified cryptography

IBM Semeru Runtimes for Java 11+ includes FIPS 140-3 cryptography certified by the U.S. National Institute of Standards and Technology (NIST). The post IBM Semeru Runtimes for Java includes FIPS 140-3 certified cryptography appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Debugging Kubernetes: Troubleshooting Guide

Discover effective solutions to common Kubernetes errors. Learn troubleshooting tips for configuration issues, image pull errors and more... The post Debugging Kubernetes: Troubleshooting Guide appeared first on foojay. | Continue reading


@foojay.io | 2 months ago

Unsupported OpenJDK Distributions are at Risk of Non-Compliance with DORA

Read the only logical conclusion of reading DORA in the context of OpenJDK, assuming that it has meaning and intent in the context of OpenJDK or any ICT asset that is vulnerable to the risk that DORA seeks to mitigate. The post Unsupported OpenJDK Distributions are at Risk of Non … | Continue reading


@foojay.io | 2 months ago

Creating cloud-native Java applications with the 12-factor app methodology

Learn how you could create cloud-native Java apps that are portable, scalable, and reliable with the 12 factor app methodology. The post Creating cloud-native Java applications with the 12-factor app methodology appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Running JavaFX applications on ARM with Azul Zulu

Since the April release of Azul Zulu Builds of OpenJDK, packages with JavaFX support for ARM 64-bit systems have been available. The post Running JavaFX applications on ARM with Azul Zulu appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

OpenTelemetry Tracing on Spring Boot, Java Agent vs. Micrometer Tracing

Let's compare three different ways to do OpenTelemtry Tracing: Java agent v1, Java agent v2, and Micrometer Tracing. The post OpenTelemetry Tracing on Spring Boot, Java Agent vs. Micrometer Tracing appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Connecting Resilience to Performance in Relation to OpenJDK

Given the requirements of the DORA Act, which mandates strong operational resilience for financial institutions in the EU, leveraging a JVM like Azul Platform Prime can help ensure compliance and protect critical financial operations from ICT-related disruptions. The post Connect … | Continue reading


@foojay.io | 3 months ago

The Impact of the EU DORA Act on Non-EU Financial Organizations

DORA is not just a regional EU regulation but one with far-reaching implications for the global financial services market. The post The Impact of the EU DORA Act on Non-EU Financial Organizations appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Sustainable Software Engineering: Input Requested!

Since about a year ago, the Foojay community has a group of people that are working on a book with tips and information on Sustainable Software Engineering. The post Sustainable Software Engineering: Input Requested! appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Spring: Internals of @ComponentScan

Explore the nuances of Spring's @ComponentScan in our extensive guide. Gain insights into its internals and optimize your application's configuration effectively. The post Spring: Internals of @ComponentScan appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Are Critical Vulnerabilities Lurking in Your Java Ecosystem?

According to the Datadog "State of DevSecOps" report, a staggering 90% of Java services are susceptible to one or more critical or high-severity vulnerabilities The post Are Critical Vulnerabilities Lurking in Your Java Ecosystem? appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Interview with a Java Champion: Reflections on a Storied Career and Insights for the Next Generation

Java Champion Ben Evans shares his journey, insights on Java's evolution, and advice for developers in this insightful interview. The post Interview with a Java Champion: Reflections on a Storied Career and Insights for the Next Generation appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Defining patterns of data transfers for Java applications with TornadoVM

How TornadoVM programmers can utilize the API functions for transferring data to the accelerator's (e.g., GPU) memory, and backwards. The post Defining patterns of data transfers for Java applications with TornadoVM appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

DevIgnition with Foojay.io at Washington DC JUG

This year DevIgnition is proud to partner with Foojay to include a track of talks by the Friends of OpenJDK, in addition to our normal schedule of diverse technical talks. The post DevIgnition with Foojay.io at Washington DC JUG appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Trash Pandas Love Enterprise Java Garbage Code

If raccoons were software engineers, they would feel at home inside many enterprise systems. These systems are often full of unused and dead code. The post Trash Pandas Love Enterprise Java Garbage Code appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Run AI-enabled Jakarta EE and MicroProfile applications with LangChain4j and Open Liberty

Experience AI technology in Jakarta EE and MicroProfile applications that run on Open Liberty by using LangChain4j APIs. The post Run AI-enabled Jakarta EE and MicroProfile applications with LangChain4j and Open Liberty appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Consequences of DORA on Java and OpenJDK with Azul

Azul ensures that financial institutions using Java remain compliant with DORA by providing a secure, supported, and stable Java platform, mitigating the risks associated with unsupported OpenJDK distributions. The post Consequences of DORA on Java and OpenJDK with Azul appeared … | Continue reading


@foojay.io | 3 months ago

Get Started With Allocation Profiling

Trouble finding memory leaks in a Java program? Learn how allocation profiling can reveal bugs and help you troubleshoot Java performance. The post Get Started With Allocation Profiling appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

How does it feel to test a compiler?

I’m often asked by friends and colleagues what it’s like to test a compiler, so I decided to write an article about it. The post How does it feel to test a compiler? appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

JavaFX Nodes versus Canvas

An experiment showing that you can add roughly 10 times more objects to the Canvas before the framerate drops compared to the number of Nodes. The post JavaFX Nodes versus Canvas appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Free tier API with Apache APISIX

Lots of service providers offer a free tier of their service. The idea is to let you kick their service's tires freely. If you need to go above the free tier at any point, you'll likely stay on the service and pay. The post Free tier API with Apache APISIX appeared first on fooja … | Continue reading


@foojay.io | 3 months ago

Differentiating rate limits in Apache APISIX

In this post, we implement rate limiting with Apache APISIX. We set the rate limit on a route and moved it to individual consumers. Then we moved it to consumer groups, so all consumers in a group share the same "pool". The post Differentiating rate limits in Apache APISIX appear … | Continue reading


@foojay.io | 3 months ago

Random and fixed routes with Apache APISIX

If no cookie is set, randomly forward the request to one of the upstreams, if a cookie has been set, forward the request to the correct upstream. The post Random and fixed routes with Apache APISIX appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

JUG PH: 1H 2024 Meetups

A report on JUG PH: 1H 2024 Meetups. Topics covered were Angular Framework, Java Best Practices, GitHub Copilot and API Development. The post JUG PH: 1H 2024 Meetups appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

JUG PH: 1-Day Modern Java Development Bootcamp

A 1-Day Modern Java Bootcamp for IT students, early professionals, and career shifters with minimal Java or general programming experience. The post JUG PH: 1-Day Modern Java Development Bootcamp appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

JavaFX Links of July 2024

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


@foojay.io | 3 months ago

JManc 2024 Trip Report

Great day, great people, great discussions and great team of dis-organisers! The post JManc 2024 Trip Report appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Video: Easy Implementation of a Client-Server Application in Java with FEPCOS-J

See how FEPCOS-J relieves developers of the network programming required to implement a client-server application in Java. The post Video: Easy Implementation of a Client-Server Application in Java with FEPCOS-J appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Failure is Required: Understanding Fail-Safe and Fail-Fast Strategies

Let's discuss the upside of failure. Why you should seek failure, why failure is good and why avoiding failure can reduce the reliability of your application. The post Failure is Required: Understanding Fail-Safe and Fail-Fast Strategies appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Mastering Serverless Debugging

Discover effective strategies for debugging serverless and AWS Lambda. Serverless can be painful, but not a bottomless pit of despair. The post Mastering Serverless Debugging appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Understanding JVM Memory Layout with OpenJDK24’s New PrintMemoryMapAtExit VM Option

OpenJDK24 recently added a new HotSpot JVM option called PrintMemoryMapAtExit. The post Understanding JVM Memory Layout with OpenJDK24’s New PrintMemoryMapAtExit VM Option appeared first on foojay. | Continue reading


@foojay.io | 3 months ago

Advanced URL Rewriting with Apache APISIX

Here I describe using the proxy-rewrite plugin with a path variable. You can reuse the same technique with multiple variables. The post Advanced URL Rewriting with Apache APISIX appeared first on foojay. | Continue reading


@foojay.io | 4 months ago

Creating a Command Line Tool with JBang and PicoCLI to Generate Release Notes

Learn how to create a Java command-line tool with JBang and PicoCLI to automate generating release notes from GitHub. The post Creating a Command Line Tool with JBang and PicoCLI to Generate Release Notes appeared first on foojay. | Continue reading


@foojay.io | 4 months ago