
Java + LLMs + LangChain4j — 2025 Talk Series
• A N M Bazlur Rahman
Java + LLMs + LangChain4j — 2025 Talk Series
Shaaf and I have been heads‑down exploring how LangChain4j slots into everyday Java and Jakarta EE projects. Our experiments have grown into a full talk series.
You can find a list of delivered and upcoming talks on my conference page: https://bazlur.ca/conferences/
Why we’re doing this
- LangChain4j gives Java devs RAG pipelines, vector‑store abstractions, and agent helpers without leaving the JVM.
- Jakarta EE supplies the familiar plumbing—CDI, JPA, JAX‑RS—so LLM features drop into existing codebases instead of sitting in sidecars.
- Together they let us prototype AI‑powered features (chat, summarization, semantic search), Function calling, MCP and many more. You can take them straight to production.
What the session covers
- Quick introduction to LLM plumbing in Java
- Prompt design patterns
- Memory management techniques
- Tool integration (function calling)
- RAG (Retrieval‑Augmented Generation) end‑to‑end
- vector stores
- Model Context Protocol
Try the code
We built a progressive demo repo — https://github.com/learnj-ai/llm-jakarta .
We’re excited to keep refining these ideas and would love your feedback—see you at the next stop on the schedule!
Type your email… {#subscribe-email}
✨ This article was originally published at https://bazlur.ca/2025/05/03/java-llms-langchain4j-2025-talk-series/
📬 Stay Updated with My Newsletter
Want to keep in touch and learn more about:
- ☕ Java & all the new features coming along
- 🧵 Concurrency & Virtual Threads
- 🧠 LLMs, LangChain4j & AI Integration
- 🚀 Quarkus, Spring & Jakarta EE
Subscribe to my newsletter for regular updates, tips, and insights delivered straight to your inbox!
Subscribe Now🌐 Let's Connect!
Follow me on social media for more updates, insights, and discussions:
Share this article
Related Articles
💡 Tip: Add tags to your posts to see more relevant suggestions!
Building Robust AI Applications with LangChain4j Guardrails and Spring Boot
Speaking at GeeCON 2025: A Memorable Kraków Experience
Java’s Structured Concurrency: Finally Finding Its Footing
Chat with Your Knowledge Base: A Hands-On Java & LangChain4j Guide
Building FormPilot: My Journey Creating an AI-Powered Form Filler with RAG, LangChain4j, and Ollama
A Journey to DevNexus: Challenges, Friendships, and Java
JetBrains Junie: My Firsthand Experience
DIY JVM Part 1: Decoding the Magic – Parsing Java
SummarizingTokenWindowChatMemory: Enhancing LLM’s Conversations with Efficient Summarization
A Journey of the Heart: Visiting Madinah and Makkah
Java Tips # 01 – Writing Shebang Scripts in Pure Java
Family, Castles, and Code: Exploring Europe’s Old Cities
Creating a Command Line Tool with JBang and PicoCLI to Generate Release Notes
Unsafe is Finally Going Away: Embracing Safer Memory Access with JEP 471
Exploring New Features in JDK 23: Simplifying Java with Primitive Type Patterns with JEP 455
Exploring New Features in JDK 23: A Sneak Peek
Records for Cleaner and More Expressive Parameterized Tests in JUnit 5
Homecoming Chronicles: Navigating Parenting, Flights, and New Beginnings
Accessing Native C Functions from Java Using OpenJDK’s JEP 454: Foreign Function & Memory API
How to Diagnose and Mitigate Pinning in Java’s Virtual Thread Execution
What is a semaphore, and when to use it?
What is CyclicBarrier and When to Use It in Java?
What is CountDownLatch and How to Use It?
Web Crawling in Java: A Tale of Classical Threads and Virtual Threads
Exploring the Impact of Stack Size on JVM Thread Creation: A Myth Debunked
Turning Over a New Leaf: Java Updates and Journeys as Summer Ends
Embracing Modernity: A Comprehensive Look at Sealed Classes, Pattern Matching, and Functional Paradigms in Java
Unlocking Java Wisdom: A Conversation with Oracle ACE Simon Martinelli
Writing Testable Code: A Journey Through Consideration and Refactoring
Thread-Safe Counter in Java: A Comprehensive Guide
Exploring File Storage Solutions in Spring Boot: Database, Local Systems, Cloud Services, and Beyond
Sealed Interfaces and Pattern Matching: A Quick Dive into Java’s Modern Capabilities
The Java Landscape: A Month with Vaadin, OpenJDK Insights, and Java Enhancements
Book Review: “OpenJDK Migration for Dummies”
Book Review: “OpenJDK Migration for Dummies”
Preparing for JDK 21: A Comprehensive Overview of Key Features and Enhancements
Busting Myths, Building Futures: A Conversation with Cay Horstmann on Java and Machine Learning
Dive into the OpenJDK: Top 10 Reads on Foojay.io
Dive into the OpenJDK: Top 10 Reads on Foojay.io
Charting the Course of Java: An Insightful Conversation with Java Champion, Sebastian Daschner
The Evolution of Java: Challenging Stereotypes and Embracing Modernity
Exploring the Depths of Java: A Comprehensive Conversation with Jakob Jenkov, Part-II
Exploring the Depths of Java: A Comprehensive Conversation with Jakob Jenkov, Part-II
Exploring the Depths of Java: A Comprehensive Conversation with Jakob Jenkov, Part-I
Exploring the Depths of Java: A Comprehensive Conversation with Jakob Jenkov, Part-I
Code, Conferences, and the Swiss Alps: A Monthly Roundup
Exploring Java 21’s Intriguing Additions: Unveiling New Features (Part 1)
Journey through Code: A Student’s Guide to the Software Development
Breaking the Code: How Chris Newland is Changing the Game in JVM Performance!
Cracking Code and Conventions: An Exclusive Interview with Nicolas Fränkel
Resilience in Coding: Miro Wengner on Thriving in the Software Industry
Java Threads Reimagined: A Reflection on JConf Toronto 2023 and the Dawn of a New Era of Concurrency
Decoding Success: An Industry Expert’s Guide to Thriving in Software Development and Security
The Hallway of Hope: The First Cry
Announcing “Java Unscripted: An Asynchronous Exploration of Excellence”
Discovering the Secrets to Success: An Exclusive Interview with Java Champion Michael P. Redlich
Discovering the Secrets to Success: An Exclusive Interview with Java Champion Michael P. Redlich
Unleashing the Power of Lightweight Concurrency: A Comprehensive Guide to Java Virtual Threads (Part 1)
Unleashing the Power of Lightweight Concurrency: A Comprehensive Guide to Java Virtual Threads (Part 1)
My Experience with the Apple Genius Bar: A Bumpy Ride to a Fixed MacBook Pro
Unlocking Java Secrets with Frank Delporte: Insights, Stories, and Tips for Success
My Committer Profile and Interview with the Eclipse Foundation
Unlocking the Secrets to a Successful Software Engineering Career: An Interview with Otavio Santana
Competing for the Crown: A Friendly Debate on the Future of Java and Kotlin on Foojay.io Today
Competing for the Crown: A Friendly Debate on the Future of Java and Kotlin on Foojay.io Today
Navigating the Challenges of Modern Software Development: An Exclusive Interview with Shai Almog
From Assembler to Chat-GPT: Steve Poole on the Shifting Landscape of Programming
The Speed Test: Comparing Map.of() and new HashMap<>() in Java
The Speed Test: Comparing Map.of() and new HashMap<>() in Java
From Law Degree to Java Champion: Geertjan Wielenga on the Success of Java and Navigating the Software Industry
How to Keep Up with the Ever-Evolving Tech Industry
Welcoming Our Little Princess: The Story of Rushda Rahman
Java, Friends, and Cold Weather: My Adventure at ConFoo Conference
Java Sealed Classes in Action: Building Robust and Secure Applications
Optional in Java: A Swiss Army Knife for Handling Nulls and Improving Code Quality
Java Bytecode Simplified: Journey to the Wonderland (Part 3)
Java Bytecode Simplified: Journey to the Wonderland (Part 3)
Why Many Developers Don’t Write or Give Talks and How to Overcome Challenges
Why Many Developers Don’t Write or Give Talks and How to Overcome Challenges
The complete glossary of my name
The complete glossary of my name
Tour de Morocco!
The 5 Most Pivotal and Innovative Additions to OpenJDK 19
Java Thread Programming (Part 15)
Java Bytecode Simplified: Journey to the Wonderland (Part 2)
5 ways to improve your communication skills
5 ways to improve your communication skills
Weekly Java Newsletter – Issue #3
Book Review: Klara and the Sun
Weekly Java Newsletter – Issue #2
Top 7 Features in Jakarta EE 10
I joined the Jakarta Ambassadors program
In Bangladesh, I was featured in one of the country’s most widely read newspapers.
Book Review: Monolith to Microservices (Part 2)
Your Java Code in the Fastlane: Creating a Million Virtual Threads Using Project Loom to Improve Throughput
Your Java Code in the Fastlane: Creating a Million Virtual Threads Using Project Loom to Improve Throughput
I’m now officially a Java Champion
Book Review: Monolith to Microservices (Part 1)
How to run the Java Incubator Module from the Command Line and IntelliJ IDEA
How to Enable Java Preview Features and Run Code from IntelliJ IDEA
Top 10 Java Language Features
Three Mistakes Junior Software Developers Make Preventing Getting Hired On Amazing Projects
Three Mistakes Junior Software Developers Make Preventing Getting Hired On Amazing Projects
5 Things You Probably Didn’t Know About Java Concurrency
7 Reasons Why, After 26 Years, Java Still Makes Sense!
7 Reasons Why, After 26 Years, Java Still Makes Sense!
Java Bytecode Simplified: Journey to the Wonderland (Part 1)
Java Thread Programming (Part 14)
Java Thread Programming (Part 14)
7 Ways to Improve Your Code Reading Skills
7 Ways to Improve Your Code Reading Skills
Java Thread Programming (Part 13)
Java Thread Programming (Part 13)
Java Thread Programming (Part 12)
Java Thread Programming (Part 12)
Java Thread Programming (Part 11)
Java Thread Programming (Part 11)
Java Thread Programming (Part 10)
Java Thread Programming (Part 10)
Java Thread Programming (Part 9)
Java Thread Programming (Part 9)
Java Thread Programming (Part 8)
Java Thread Programming (Part 8)
Java Thread Programming (Part 7)
Java Thread Programming (Part 7)
Java Thread Programming (Part 6)
Java Thread Programming (Part 6)
Let’s Use Optional to Fix Method Contracts
Let’s Use Optional to Fix Method Contracts
Java Thread Programming (Part 5)
Java Thread Programming (Part 5)
Java Thread Programming (Part 4)
Java Thread Programming (Part 3)
Java Thread Programming (Part 3)
Java Thread Programming (Part 2)
Java Thread Programming (Part 1)
Compact Strings: Reclaim 25% of Java Heap Memory & Lower Your Cloud Bills
Compact Strings: Reclaim 25% of Java Heap Memory \& Lower Your Cloud Bills
Coding and collaboration skills a junior developer should have to get hired – Part 2
Coding and collaboration skills a junior developer should have to get hired – Part 2
Coding and collaboration skills a junior developer should have to get hired – Part 1
Coding and collaboration skills a junior developer should have to get hired – Part 1