Martin Smelt

Java Concurrency Best Practices for MongoDB

Author: Vivekanandan Sakthivelu Original post on Foojay: Read More Table of Contents Lost updatesDirty readsNon-repeatable readsPhantom readsHow to avoid these issues Isolation Read concern Write concern In a multi-threaded, distributed environment like MongoDB, when clients execute queries concurrently, operations interleave with one another if they are not isolated, whether those operations involve single-document or multi-document operations. For instance, Client C1’s …

Read More »

Performance Best Practise No. 1: Optimize Database Operations

Author: Ondro Mihalyi Original post on Foojay: Read More Table of Contents How GlassFish helps with improving database performance Connection pool configuration JDBC batching Jakarta Persistence (JPA) batching Next Steps Database operations are a very critical part of most applications in regards of performance. There are multiple reasons why database operations can significantly contribute to lower performance: The database often …

Read More »

Intro to RAG: Foundations of Retrieval Augmented Generation, part 2

Author: Jennifer Reif Original post on Foojay: Read More Table of Contents GenAI systems as layersVector RAGGraph RAGAI AgentsModel Context Protocol (MCP)What should you choose?Wrapping up!Resources In the last post, we discussed the basics of Retrieval Augmented Generation (RAG) and how it enhances the capabilities of Large Language Models (LLMs) by integrating them with external knowledge sources. We also introduced …

Read More »

Authoring an OpenRewrite Recipe

Author: Nicolas Frankel Original post on Foojay: Read More Table of Contents My use caseRecipe basicsPutting it all togetherTesting the recipePotential future worksConclusion I’ve been eying OpenRewrite for some time, but I haven’t had time to play with it yet. In case you never heard about OpenRewrite, OpenRewrite takes care of refactoring your codebase to newer language, framework, and paradigm …

Read More »

Faster Java Warmup: CRaC versus ReadyNow

Author: Frank Delporte Original post on Foojay: Read More Table of Contents What happens at Java startup Java warmup phase  Deoptimizations Solutions Provided by Azul Coordinated Restore at Checkpoint (CRaC)  ReadyNow  Cloud Native Compiler CRaC Compared to ReadyNow Conclusion  This is the first blog post in a series on faster Java application warmup with ReadyNow.Azul has developed different solutions to help …

Read More »

MongoDB Aggregation Framework: A Beginner’s Guide

Author: Tim Kelly Original post on Foojay: Read More Table of Contents Aggregation pipelineAggregation stages $Match $Project $Unwind $Group $Sort $AddFields Combining stagesWrapping up Finding exactly the data we need isn’t always a simple task. You’ve probably faced situations where you needed to filter information, group it, and even perform calculations to produce a final result. And often, delivering this …

Read More »

Java’s Structured Concurrency: Finally Finding Its Footing

Author: A N M Bazlur Rahman Original post on Foojay: Read More Table of Contents What Actually Changed This Time The Core Concept Remains Strong The headline change: static factory methods Joiners: pick your success policy Rolling your own Joiner Better cancellation and deadlines Scoped values ride along Guard-rails against misuse Observability improvements Some more examples to try out Final …

Read More »

Cloudflare Tunnel for Home Assistant

Author: Nicolas Frankel Original post on Foojay: Read More Table of Contents The initial setupCloudflare Tunnel for Home AssistantRemoving Let’s Encrypt add-onConclusion I continue to take care of my Home Assistant. This week, I replaced my original setup with Cloudflare Tunnel. This is the 6th post in the My journey with Home Assistant focus series. Other posts include: Why Home …

Read More »