All Episodes

December 12, 2025 9 mins

In this episode, hear my latest adventures in the world of Java development, focusing on integrating Langchain4j with Quarkus, tackling dependency management, and exploring the evolving landscape of generative AI in production systems. Plus, I highlight upcoming community events and must-watch videos for developers.

Highlights:

Mark as Played
Transcript

Episode Transcript

Available transcripts are automatically generated. Complete accuracy is not guaranteed.
Jennifer Reif (00:05):
You are listening to the Breaktime Tech Talks podcast, a bite-sized
tech podcast for busy developers wherewe'll briefly cover technical topics, new
snippets, and more in short time blocks.
I'm your host, Jennifer Reif, anavid developer and problem solver
with special interest in data,learning, and all things technology.
I hope you enjoyed last week'sepisode with William Lyon.

(00:27):
I know I did.
It was great to shake uptopics and learn something new.
Even with the holidays fastapproaching, nothing at work, at least
for me, seems to be slowing down.
I have three virtual events betweenthis week and next week, plus
a few other tasks in the mix.
I'll get to baking cookies and readingbooks here in a couple of weeks though.
Until then, I spent some time withQuarkus and Langchain4j again, and

(00:49):
I'll share the obstacles I've conqueredand some new ones I've found as well.
Then I'll wrap up this episode with acouple of videos I've watched recently.
To start us off, I wanna talkabout the time that I spent with
Quarkus and Langchain4j this week.
I ended up in a little bit ofdependency management hell,
but let me back up just a bit.
i'd mentioned on this podcast a fewweeks ago that I couldn't work with

(01:13):
a read only database in Langchain4jand submitted a GitHub issue.
And that got picked up.
The fix got put in, and everythinglooked really nice and I wanted
to play around with that.
So I started off doing that.
I had to pull in a new version ofthe Langchain4j Community Library,
which is where a lot of theintegrations are currently living.

(01:35):
So I pulled that in.
It was 1.8 0.0 beta ofthe Langchain4j Community.
And was able to get that read onlydatabase configuration working.
I will mention a caveat here though, thatyou can't define it as a configuration
property in your app, do properties file.
You have to define it withintheconstructor , however
you wanna think about it.

(01:56):
When you actually buildthe vector database config.
I needed to do thatwithin the application.
So I couldn't define it as apropertyin the app.properties file.
I had to define it and configureitwithin the application itself.
However, the community versionis not compatible with the
Langchain4jMCP dependency.

(02:18):
'Cause what I ended up doingis I got the app up and running
with the read only database.
Everything was working great.
Great.
Let me add in text, decipher.
And in order to do that, what I'vedone previously with spring AI is
just pull in the Neo4j cipher MCPserver and then work with the text
to Cypher that's there outta the box.
So that's what I was trying todo here with Langchain4j as well.
So I pulled in the Langchain4j MCPdependency, which Langchain4j now supports

(02:43):
and does pretty well with, I think.
But I pulled that in and then all ofa sudden I got conflicts in my project
and was struggling and working backand forth doing some research, trying
to figure out what was going on, andfigured out that it was a conflict
between some of the library versions.
And I spent hours on this.
I beat my head on the desk, I don't knowhow many times trying to debug and search

(03:05):
and test, but at the end result, I stillhave no Langchain4j plus Quarkus plus
GraphRAG Neo4j application solution.
At least nothing that a hundredpercent matches what I've
built with other tech stacks.
However, I do have a rendition of theLangchain4j Quarkus Graph RAG app running.

(03:25):
It just doesn't have the MCP server withthe text decipher capabilities in it.
So I do have an application to look at.
I will link that in the show notes,but that will do the regular RAG manual
graph RAG, working with a read-only Neo4jdatabase, which does work really nicely.
It just doesn't have theMCP and text to Cypher yet.

(03:45):
So I will continue working onthis, but this is where I am and
this is how I got there so far.
I did also have to create a separate AIservice in this Langchain4j version so
that the plain LLM calls wouldn't use theretrieval augmenter that I had customized.
So if you kind of remember, if you'velooked at my Spring app, I have a

(04:08):
test endpoint for just calling theLLM directly so you can see what
those answers look like without anysort of RAG or tool capabilities.
And then I kind of build up from there,I go into vector RAG and then Graph
RAG, and then tool calling with alittle bit of agent, agentic type stuff.
And then you have theMCP in there as well.
Now the problem was, is that Icouldn't customize per request, or at

(04:31):
least I haven't found a way to do it.
Customize per request, when to use theretrieval augmenter for the retrieval
strategy versus just a regular LLM call.
And so I just created a separateAI service, so there is an
additional class in there.
And I think that's just the waythat Quarkus kind of structures
their application, and the way theyconfigure the calls to do that.

(04:53):
So I have the application out there.
You can take a look at it, but itdoes differ slightly in some of the
architectural stuff, I think justbecause the frameworks differ in
the way they approach things andthere is no way to customize the
config per call without rebuildingthe whole config object every time.
Okay.
That covers the graph RAG and Langchain4jand Quarkus journey that I'm on so far.

(05:16):
I do have a couple of upcoming events.
Next week I have an O'ReillyGraph RAG Fundamentals Workshop
that is entirely virtual.
That will be on Thursday.
I'll have links in the show notes ifyou're interested in joining that.
If you have an O'Reilly account, great.
If you don't, you cansign up for a free trial.
I think it's a 30 day one if you'reinterested in popping in an attending it.

(05:37):
Otherwise, you can catch me inlots of other places, as well.
I also have a short, virtualpresentation at the Global Big Data
Conference next week on December 15th.
You can check out the full schedule.
I'll leave a link to that in theshow notes, as well, if you're
interested in catching that.
It will be a 15 minute slot there.
I did catch up on a couple of videos thisweek, which I was really excited about.

(05:58):
I had a busy, busy week, but I wasable to get some things watched
and soak up some information.
The first is called Gen AIGrows Up: Building Production
Ready Agents on the JVM.
And this is by Rod Johnson.
It was presented at GOTOChicago for this year, 2025.
Rod Johnson is one ofthe founders of Spring.
He's heavily involved in the Javaecosystem and this presentation is

(06:20):
definitely skewed in the favor of Java.
So I will give you forewarningnow if you're not a, a Java dev.
He has a new open sourceproject called Embabel.
What I really liked about thisvideo is the focus on integrating
AI with existing business solutions.
So really talking about puttingtogether production ready systems that
incorporate generative AI aspects.

(06:40):
Rather than spinning up brand newprojects, creating new tech stacks, can
you pull in AI and generative AI projectsinto existing applications and processes?
There's no reason that we shouldn'tbe able to mix and match where
it does make sense, of course.
I do have a couple of notes on this.
I feel like, especially with some of thehiccups I've had recently and some of the

(07:04):
things, particularly around graph RAG.
There's still not some greatsolutions out there for easy
up and ready graph solutions.
So I think there's still some work tobe done for incorporating AI, at least
in the Java space, and probably lotsof other languages as well outside
of kind of the main driver of Python.
But I really would love to see thisspace develop more and more investment

(07:26):
and time being spent into, okay,we have this generative AI thing.
How can we incorporate itinto what we already have?
Whatever that tech stack might look like.
I also watched a NODES 2025 videocalled Spring in Autumn with Neo4j.
This is from Gerrit Meier, my one ofmy colleagues here at Neo4j, and he
walks through, highlighting lots ofdifferent Spring projects that are

(07:46):
available, and then also some of theframeworks where these capabilities
are available to integrate with Neo4j.
So yes, it focuses heavily on Spring, butthere's other tidbits and integrations
out there that he talks about.
And hey, you can incorporate thesethings into other frameworks as well.
There were some really coolthings that I didn't know about.
I'm hoping to have some time maybenext year to spend and play around with

(08:08):
those, but of course, my tech list isforever getting longer, so we'll see.
But if you've played around with any ofthis stuff, I would love to hear about it.
Would love to see projects, blogposts, et cetera on my feeds.
So definitely feel free to share those.
I felt like I kept hittingwalls this week, but I've made
progress in several projects,which does feel like some success.

(08:30):
I incorporated the read only databaseconfiguration in Langchain4j, but
then drowned in dependency hell amongQuarkus and Langchain4j libraries.
I'll continue trying to fix that,but at least I have a Langchain4j
project up for the workshopnext week before the holidays.
I also have a few virtual presentationsI'm prepping, but I did make some time to
catch up on a couple of great Java videos.

(08:52):
I hope you're having a great week.
Until next time, thanks forlistening and happy coding.
Advertise With Us

Popular Podcasts

Stuff You Should Know
My Favorite Murder with Karen Kilgariff and Georgia Hardstark

My Favorite Murder with Karen Kilgariff and Georgia Hardstark

My Favorite Murder is a true crime comedy podcast hosted by Karen Kilgariff and Georgia Hardstark. Each week, Karen and Georgia share compelling true crimes and hometown stories from friends and listeners. Since MFM launched in January of 2016, Karen and Georgia have shared their lifelong interest in true crime and have covered stories of infamous serial killers like the Night Stalker, mysterious cold cases, captivating cults, incredible survivor stories and important events from history like the Tulsa race massacre of 1921. My Favorite Murder is part of the Exactly Right podcast network that provides a platform for bold, creative voices to bring to life provocative, entertaining and relatable stories for audiences everywhere. The Exactly Right roster of podcasts covers a variety of topics including historic true crime, comedic interviews and news, science, pop culture and more. Podcasts on the network include Buried Bones with Kate Winkler Dawson and Paul Holes, That's Messed Up: An SVU Podcast, This Podcast Will Kill You, Bananas and more.

Music, radio and podcasts, all free. Listen online or download the iHeart App.

Connect

© 2025 iHeartMedia, Inc.