Discover Your Ideal Airbnb: Implementing a Spring Boot & MongoDB Search With Kotlin Sync Driver

Table of Contents DemonstrationPre-requisitesWhat is MongoDB Search?Load sample datasetCreating the MongoDB Search indexTesting our index in MongoDB CompassBuilding a Kotlin applicationCreating the projectAdding MongoDB driver dependencyEstablishing a connectionCreating the repos … | Continue reading


@foojay.io | 1 month ago

Building a Kotlin App with Spring Boot and MongoDB Search

Table of Contents DemonstrationPre-requisitesWhat is MongoDB Search?Load sample datasetCreating the MongoDB Search indexTesting our index in MongoDB CompassBuilding a Kotlin applicationCreating the projectAdding MongoDB driver dependencyEstablishing a connectionCreating the repos … | Continue reading


@foojay.io | 1 month ago

Why Java Developers Over-Trust AI Dependency Suggestions

Table of Contents Your Brain Is Working Against YouWhere Java Developers Are Most ExposedYour Toolchain Catches Some of ThisMake the Model Show Its WorkingThe Confidence TaxSources This article is adapted from The Confidence Trap, part of the "2026 Supply Chain ... The post Why J … | Continue reading


@foojay.io | 1 month ago

Introducing BoxLings! An interactive teacher for BoxLang and TDD/BDD

Table of Contents What Is BoxLings?The Full Learning Path🟢 Phase 1 — Core Fundamentals (50 Exercises)🟡 Phase 2 — Intermediate (40 Exercises)🔴 Phase 3 — Advanced (48 Exercises)The TDD/BDD Learning JourneyHow It WorksBuilt for Learners, Classrooms & Workshop … | Continue reading


@foojay.io | 1 month ago

Building Distributed HTTP Sessions with Spring Session MongoDB

Table of Contents PrerequisitesProject DependenciesSpring WebSpring Data MongoDBMongoDB Spring SessionApplication ConfigurationBootstrapping the ApplicationEnabling MongoDB HTTP SessionsBuilding the Theme APIRunning the ApplicationTesting Session Behavior with curlReusing the Ses … | Continue reading


@foojay.io | 1 month ago

BoxLang AI v3 Has Landed – Multi-Agent Orchestration, Tooling, Skills and so much more

Table of Contents 🎯 The Headline: AI Skills System📚 Brand New Docs🔌 MCP Server Seeding🗄️ Global AI Tool Registry🔧 Tool System Overhaul🛡️ Provider Capability System🌲 Parent-Child Agent Hierarchy🧵 Middleware Support&#x … | Continue reading


@foojay.io | 1 month ago

Thread-Safe Native Memory in Java: VarHandle Access Modes Explained

Table of Contents What is Memory Order and Why Does It Matter for Native Memory?Why do you need all of this?Testing it using JCStressPlain Access (Get/Set)Opaque AccessAcquire/ReleaseVolatileTL;DRConclusionBonus: Word Tearing What is Memory Order and Why Does It Matter for Native … | Continue reading


@foojay.io | 1 month ago

BoxLang AI v3 Has Landed – Multi-Agent Orchestration, Tooling, Skills and so much more

Table of Contents 🎯 The Headline: AI Skills System📚 Brand New Docs🔌 MCP Server Seeding🗄️ Global AI Tool Registry🔧 Tool System Overhaul🛡️ Provider Capability System🌲 Parent-Child Agent Hierarchy🧵 Middleware Support&#x … | Continue reading


@foojay.io | 1 month ago

From Zero to Full Observability with Dash0

Table of Contents Before: A Service with No ObservabilityPart 1: Build the ApplicationPart 2: Containerize and PublishPart 3: Deploy to KubernetesPart 4: Generate Traffic (the Before State)After: Adding Observability with the Dash0 OperatorPart 5: Install the Dash0 OperatorPart 6 … | Continue reading


@foojay.io | 1 month ago

Introducing Floci: A High-Performance, GraalVM-Powered AWS Emulator

Table of Contents The Motivation: Why Another AWS Emulator?Technical Edge: Built with Java and GraalVMFeature CoverageGetting StartedJoin the Floci Community The Motivation: Why Another AWS Emulator? As Java developers, we are used to local-first development. Tools that emulate t … | Continue reading


@foojay.io | 1 month ago

Does Java Really Use Too Much Memory? Let’s Look at the Facts (JEPs)

Table of Contents The reputation didn’t come out of nowhere.Modern Java: What Actually Changed?1. Garbage Collection Is Not What It Used to Be2. Threads Got Lighter (Much Lighter)3. Java Objects Are Literally Getting Smaller4. The JVM Learned to Share (CDS)5. ... The post Does Ja … | Continue reading


@foojay.io | 1 month ago

Java Faceted Full-Text Search API Using MongoDB Atlas Search

Table of Contents Let’s build!Prerequisites1. Project setup2. COCO dataData modelRunning MongoDB AtlasData ingest into MongoDB AtlasCreating an Atlas Search indexExample search3. Java service implementation4. Java searchPagingFilter clausesFacetsSearch(Optional) Refactoring to a … | Continue reading


@foojay.io | 1 month ago

Oracle’s Java Verified Portfolio and JavaFX: What It Actually Means

Table of Contents Who Kept JavaFX Alive?OpenJFX Inspired Project SkaraWhat the JVP Actually ChangesJavaFX and the AI Visualization AngleA Note on the Community and Commercial DynamicsWhere Things Stand Oracle's JavaOne 2026 brought an announcement that caught some attention in th … | Continue reading


@foojay.io | 1 month ago

Grails Isn’t Done Yet (Part 2): EOL, Spring Boot, and What Comes Next

Table of Contents The inflexion pointWhere Grails versions stand todayThe Spring Boot gravitational pullWhat the risk actually looks likeThe practical middle groundUpgrade is an action, not a strategySummaryResources In the companion article to this one, I looked at the revitalis … | Continue reading


@foojay.io | 1 month ago

Atlas Search Score Breakdown

Table of Contents Relevancy riddleScore detailsLucene insideLucene indexingLucene scoringBest matchesBreaking down the score detailsPretty printing the score detailsMystery solved!Compound is kingBoosting clausesRelevancy tuning: a delicate balance Full-text search powers all of … | Continue reading


@foojay.io | 1 month ago

JavaFX Links of March 2026

Table of Contents CoreApplicationsComponents, Libraries, ToolsPodcasts, Videos, BooksMiscellaneousJFX Central Here are the JavaFX LinksOfTheMonth of March 2026. You can find the weekly lists on jfx-central.com. Did we miss anything? Is there anything you want to have included in … | Continue reading


@foojay.io | 1 month ago

🤖 5 Best Practices for Working with AI Agents, Subagents, Skills and MCP

Table of Contents §0 📖 Where This Fits in the Series§1 🏗️ The Naive Architecture — and Why It Breaks§2 ✅ The Better Architecture — Multi-Agent with MCP§3 📉 Before You Build: The Productivity Reality Check§3b 📐 Requirements First — ... The post  … | Continue reading


@foojay.io | 1 month ago

The Java in Education Catalog Now Has a Beautiful Home

Table of Contents Inspired by a Great Idea from James WardMeet education.foojay.socialThe Catalog Is Only as Good as the Community Makes ItWhat's Next A few weeks ago, Igor De Souza shared Bringing Java Closer to Education: A Community-Driven Initiative here ... The post The Java … | Continue reading


@foojay.io | 1 month ago

Modeling One-to-Many Relationships in Java with MongoDB

Table of Contents What You'll LearnPrerequisitesProject SetupConfiguring the MongoClient with POJO SupportWhat Is a One-to-Many Relationship in Java?How Does MongoDB Store Documents Differently Than a Relational Database?Pattern 1: Embedded DocumentsWhen Should You Embed?Modeling … | Continue reading


@foojay.io | 1 month ago

Spring Boot Actuator Health for MicroProfile Developers

Table of Contents The Conceptual BridgeThe Conceptual BridgeEndpoint MappingWriting Health ChecksWriting Health Checks Auto-Configured Health Indicators Response Format and Status Codes Security Considerations Actuator’s Extended Capabilities Practical Migration Tips Conclusions … | Continue reading


@foojay.io | 1 month ago

Does Language Still Matter in the Age of AI? Yes — But the Tradeoff Has Changed

Table of Contents The Bottleneck Has MovedAI Produces Code Faster Than Teams Can Review ItWhy Verbose Languages Are Making a ComebackBoilerplate Is Now SignalThe research backs this upWhat this means in practiceThe Other Half: Runtime PerformanceThe benchmarks tell the storyWhere … | Continue reading


@foojay.io | 1 month ago

How We Built a Java AI Agent by Connecting the Dots the Ecosystem Already Had

Table of Contents What does an AI agent need?Spring AI: the LLM layerSpring Events: instant multi-channel supportJobRunr: the piece nobody thinks aboutSpring Modulith: keeping it extensibleWhat ClawRunr can do todayTry it Everyone assumes you need Python to build AI agents. ... T … | Continue reading


@foojay.io | 1 month ago

Grails Isn’t Done Yet (Part 1): Inside the ASF Reboot

Table of Contents The technology we stop seeingWhy the Apache move mattersTwenty years of changing handsEighteen months of migrationOne hundred repositories become nineBeyond the code: licensing and complianceThe modernisation you might have missedWhat Grails 7 actually shipsGrai … | Continue reading


@foojay.io | 1 month ago

TestBox 7: Real-Time Feedback, a Browser-Based IDE, and Modern Testing Workflows on the JVM

Table of Contents Keyboard ShortcutsStreaming Test Execution via SSEDry Run & Spec DiscoveryBoxLang CLI Runner — New Power OptionsOther Notable ImprovementsTestBox CLI Updates (v1.8.0)Upgrade Now TestBox 7.x focuses on improving testing workflows for BoxLang and CFML applications … | Continue reading


@foojay.io | 1 month ago

Clean Architecture with Spring Boot and MongoDB

Table of Contents Prerequisites1. What is Clean Architecture?2. Project structure3. Building the domain layer4. Building the application layer5. Building the MongoDB adapter6. Wiring everything with Spring BootConclusion Most Spring Boot tutorials tightly wire everything together … | Continue reading


@foojay.io | 1 month ago

Eclipse GlassFish: This Isn’t Your Father’s GlassFish

Table of Contents The Myth of the Unsupported, Non-Production ServerKey Differences: Eclipse GlassFish vs. Oracle GlassFishWhat’s New in Eclipse GlassFish 7.0 and Beyond Jakarta EE 11 and MicroProfile Support A New Era for Embedded GlassFish Performance and Security at the Core . … | Continue reading


@foojay.io | 1 month ago

Lottie4J 1.2.0: dotLottie Support, Marker Playback, Cropping, and a Big Speed Boost

Table of Contents dotLottie File SupportNew Player FeaturesPlay Between MarkersCropping SupportResizable PlayerPerformance ImprovementsAdaptive Rendering ModeCore Model ImprovementsJackson 3 UpgradeDebug Tooling UpdatesTrying It OutWhat's Next Version 1.2.0 of Lottie4J is out, an … | Continue reading


@foojay.io | 1 month ago

JavaScript (No, Not That One): Modern Automation with Java

Table of Contents The Scripting DilemmaThe Death of Manual CompilationSingle-File ExecutionMulti-File SupportWhy so much ceremony?The Java EvolutionEasier console interactionJava as a Native Script: Shebang SupportAdvanced Automation with JBangWhat is JBang?Dependency ManagementA … | Continue reading


@foojay.io | 1 month ago

Official Azul Zulu OpenJDK Images Now Available on Docker Hub!

Table of Contents Why should you care about official images?Which versions and variants can you use?Where to start?What’s next and how to stay involved? Azul recently announced that Azul Zulu Builds of OpenJDK are now available as Docker Official images ... The post Official Azul … | Continue reading


@foojay.io | 1 month ago

Managing Native Memory in Java: Arenas, Malloc, and Custom Pools

Table of Contents What is the Memory APIArenasUsing ArenasCreating your own arenaNative Memory allocation methodsUsing Malloc and FreePool of reusable memoryWhy you would use themHow to use a memory poolSlicingHow to use themTL;DRConclusion What is the Memory API The Foreign ... … | Continue reading


@foojay.io | 1 month ago

JC-AI Newsletter #15

Over the past two weeks, the field of artificial intelligence has continued its remarkable pace of advancement. As AI becomes increasingly woven into the fabric of daily life, shaping how we work, communicate, and make decisions, it is both timely ... The post JC-AI Newsletter #1 … | Continue reading


@foojay.io | 1 month ago

Building Reactive Data Streams with Project Reactor

Table of Contents Creating Non-Blocking Streaming Endpoints for High-Throughput ApplicationsFrom Snapshots to StreamsProject SetupDomain Model: Telemetry as a Streamable DocumentReactive RepositoryService Layer: Explicit Backpressure StrategyStreaming Endpoint with Server-Sent Ev … | Continue reading


@foojay.io | 1 month ago

Introducing the BoxLang Spring Boot Starter: Dynamic JVM Templating for Spring

Table of Contents 🌐 What is BoxLang?✨ Zero-Config Spring Boot Integration GradleGradle 🚀 From Controller to Template in Minutes🌐 Full Web Scopes — Out of the Box🔥 Hot-Reload During Development⚙️ Configuration That Stays Out of Your Way🔀 Coe … | Continue reading


@foojay.io | 1 month ago

How is Leyden improving Java Performance? Part 3 of 3

Table of Contents What is inside the Ahead of Time Cache?JVM MetadataJVM Profile and Linkage DataJVM Code and Code Management DataLeyden Training DataHow Do I Know Leyden Is Helping?Training the applicationAnalyzing the CacheAre we training the right thing?Did we load ... The pos … | Continue reading


@foojay.io | 1 month ago

How is Leyden improving Java Performance? Part 2 of 3

Table of Contents How to use an AOT CacheHow to properly execute the Training Run?Should I start using AOT Cache in Java already?Heavy Mathematical ExampleSimple REST API In part 1 of this series of 3 blog posts we introduced the ... The post How is Leyden improving Java Performa … | Continue reading


@foojay.io | 2 months ago

Language Learning Flashcard System – Part 1

Table of Contents Complete code exampleCreate a project using Spring InitializrAdding the MongoDB Connection URIOur logical modelOur MongoDB schemaOur model classesImproving our development cycleOur first API endpointsDecksCardsAdding empty endpoints for DecksChanging the default … | Continue reading


@foojay.io | 2 months ago

How is Leyden improving Java Performance? Part 1 of 3

Table of Contents A Brief History of Java Performance Why Java takes time to reach peak performance Housekeeping considered harmfulLeyden Project ‘premain’ Experiment Training and Production Runs In this series of 3 blog posts we will explain how OpenJDK project ... The post How … | Continue reading


@foojay.io | 2 months ago

How is Leyden improving Java Performance? Part 1 of 3

Table of Contents A Brief History of Java PerformanceWhy Java takes time to reach peak performanceHousekeeping considered harmfulLeyden Project ‘premain’ ExperimentTraining and Production Runs In this series of 3 blog posts we will explain how OpenJDK project Leyden is helping .. … | Continue reading


@foojay.io | 2 months ago

BoxLang 1.11.0 Release

Table of Contents 🚀 What's New in 1.11.0⚡ Performance Wave — 15+ Targeted Runtime Speedups🔒 Concurrency & Lock Safety — Critical Fix🗓️ DateTime Casting Reliability🆕 enforceUDFTypeChecks Configuration Setting⏱️ getTickCount() — Nanosecond & Second P … | Continue reading


@foojay.io | 2 months ago

Java 26 Is Here, And With It a Solid Foundation for the Future

Java 26 is here, and its main purpose seems to be to provide a solid foundation for future things to come. It comes with a few new features, some performance improvements and multiple enhancements that mention Project Valhalla as the inspiration for their existence. This post has … | Continue reading


@foojay.io | 2 months ago

Foojay Podcast #92: Java 26 Is Here: What’s New, What’s Gone, and Why It Matters in 2026

Table of Contents YouTubePodcast AppsGuestsContent Welcome to another episode of the Foojay Podcast! In this episode, we're talking about Java 26, released on March 17 in the year 26. Again, right on schedule with Java's six-month release cadence. Now, Java ... The post Foojay Po … | Continue reading


@foojay.io | 2 months ago

Lottie4J 1.1.0: Better Rendering, Smarter Debugging, and an animated Lottie4J Logo!

Table of Contents What Is Lottie4J?What's New in Lottie4J v1.1.0License and API ImprovementsMany Rendering Fixes in the JavaFX PlayerSmarter Debug ToolingAutomated Comparison TestingTrying It OutWhat's Next Just one week after the first public release of Lottie4J, the open-source … | Continue reading


@foojay.io | 2 months ago

Atlas Online Archive: Efficiently Manage the Data Lifecycle

Table of Contents Problem statementResolutionAdvantagesLimitationsPre-requisitesOnline archival configuration setupConclusion Problem statement In the production environment, in a MongoDB Atlas database, a collection contains massive amounts of data stored, including aged and cur … | Continue reading


@foojay.io | 2 months ago

Event-Driven Architecture in Java and Kafka

Table of Contents Streaming Data - The Air Traffic Control Example.Reactive Java - a brief historyReactive Java with MongoDB and KafkaBlocking Code VersionReactive Code VersionBlocking Versus Reactive Application Performance.Final Thoughts Reactive Java is well suited to modern s … | Continue reading


@foojay.io | 2 months ago

Introducing the BoxLang IDE Plugin for IntelliJ

Table of Contents Installing the PluginKey Features 🎨 BoxLang Syntax Highlighting 🧰 BoxLang Project Creation 🧠 Language Server (LSP) Support 🐞 Debugging Support 🧪 TestBox Integration 🔵 CFML Syntax Highlighting Designed for the JVM E … | Continue reading


@foojay.io | 2 months ago

Introducing Lottie4J, a Java(FX) Library to Parse and Play Lottie Animation Files

Table of Contents What is Lottie?The Complexity of LottieLottie4J ProjectProject StructureMaking Sense of the JSONExample AnimationsHow to Use Lottie4JContinuous EvolutionGet Started I'm proud to present a new JavaFX library: Lottie4J, that brings Lottie animations to JavaFX appl … | Continue reading


@foojay.io | 2 months ago

DPoP: What It Is, How It Works, and Why Bearer Tokens Aren’t Enough

Table of Contents What is DPoP?The Problem: Bearer Tokens and the "Finders Keepers" RiskHow Does DPoP Work?Configuring DPoP in KeycloakDPoP in Action with QuarkusProject SetupProtected EndpointsReplay Protection with a jti FilterTesting with k6Conclusion DPoP is one of the most e … | Continue reading


@foojay.io | 2 months ago

Role-Based Access Control in Java Applications

Table of Contents Authorization Is a Business ConcernModeling Permissions FirstUsing MongoDB for User MetadataFrom Infrastructure Model to Application PrincipalCentralizing Authorization LogicContextual Rules: Where RBAC StopsRBAC vs ABAC: When Roles Are Not EnoughThe Architectur … | Continue reading


@foojay.io | 2 months ago