Thomas Vitale ☀️

Thomas Vitale ☀️

@thomasvitale.com

Software Engineer 📚 Author of “Cloud Native Spring in Action” 🛳️ CNCF Ambassador ☕️ Java Champion 🍃 Creator of @arconia.io for Spring Boot 🎙️ International Speaker 👨‍💻 OSS. Work with Java and Cloud Native.

1.8K followers590 following669 posts

Today I found out about something really puzzling. I noticed that each new Java release of my Arconia Framework to Maven Central ended up being around 200MB. That's a lot! How could that be possible? 😱 Let me tell you what was the problem and how I got it down to 8MB.

View full thread

What does that mean? Every Java artifact you publish to Maven Central has an extra 4,1MB of font files. Imagine how's that multiplied by the number of libraries published there? 💥 Since Java 23, you can disable the inclusion of the font files, but it should really be disabled the default!

So now I'm adding this configuration to all my Java projects. For the Arconia Framework, that meant going from 200MB to 8MB total release size (many artifacts). Considering the new publishing limits set by Sonatype, that makes a huge difference! Also, no wonder the disk storage costs are so high!

Today I found out about something really puzzling. I noticed that each new Java release of my Arconia Framework to Maven Central ended up being around 200MB. That's a lot! How could that be possible? 😱 Let me tell you what was the problem and how I got it down to 8MB.

Maven Central requires every library published there to provide a dedicated JavaDoc JAR file. Even though I don't need it, it's a requirement, so I configured my Java project to generate that. It turns out that, by default, each JavaDoc JAR comes with a bundle of font files of 4,1MB 🧨 Absurd!

View full thread

Thanks to Jimisola Laursen for the research and ground work that helped building the Keycloak Dev Service, Mahendra Rao Bandaru for implementing the foundational support for provisioning Grafana dashboards, and Dat Daryl Ngo for improving the docs about the Phoenix Dev Service and OpenInference.

The Grafana LGTM Dev Service now provisions Grafana with dashboards for your Spring Boot application, based on the dependencies in your project and on the conventions used (Micrometer or OpenTelemetry). You can also seamlessly provision your custom dashboards.

Nice to see the flexibility of the Modular RAG functionality I implemented for Spring AI, here used to integrate your apps with TypeSafe AI Jev 🍃 Interesting blog post by @tzolov.bsky.social, Spring AI lead.

Christian Tzolov@tzolov.bsky.social

Spring AI Modular RAG + TypeSafe AI Jev 🧩 LLMs rewrite and expand the query. Vector search finds 6 chunks. #Jev keeps the 2 that actually answer it. 📝 Blog: spring.io/blog/2026/10... 🎤 At @devoxx.com next week? Join my deep dive: m.devoxx.com/events/dvbe2... #RAG #Java #SpringAI

Thomas Vitale ☀️ reposted

i reflected on my failings as an engineering leader integrating AI into my team (before i quit it entirely); the result is beware: chronicling over 30 real risks from first-hand experience of using LLMs on a software team brettcodes.com/beware/

brettcodes.comBeware: Real risks of using AI as a software dev teamAn extensive list chronicling the risks associated with software development teams leaning hard into AI-generated code and related tooling.

A new version of Arconia is out! It comes with an improved Ollama Dev Service for Spring AI and it's packed with new features and improvements for building multitenant applications with Spring Boot. Thanks so much @starbuxman.joshlong.com for contributing multitenancy support for JDBC and OAuth2!

Arconia@arconia.io

🚀 Arconia 0.30.0 has been released! https://github.com/arconia-io/arconia/releases/tag/v0.30.0

Thomas Vitale ☀️ reposted

Yup! It's official. Spring Cloud Contract is becoming stubborn.sh

Spencer Gibb@spencer.gibb.us

Today, we are announcing a transition for Spring Cloud Contract. All maintenance, support, and ownership of the project will be officially transferred to one of its original creators, Marcin Grzejszczak @toomuchcoding.com, under Stubborn.sh spring.io/blog/2026/07...

Thomas Vitale ☀️ reposted

The world of computing is and will remain far larger, more impactful, and far more vibrant than the narrow subdomain of genAI.

Thomas Vitale ☀️ reposted

LF AI & Data Foundation recently launched the DocLang Working Group, founded by the Linux Foundation, IBM, Red Hat and ABBYY, to develop and maintain a specification that supports more reliable, interoperable document processing across AI and agentic workflows. Get involved: https://doclang.ai/

Thomas Vitale ☀️ reposted

Introducing @modelplaneai.bsky.social: the open source control plane for AI inference. Built on Crossplane, it operates your GPU fleet as a unified inference platform. Any model, any engine, any infra. In Early Development. We’re building in the open. Join us → modelplane.ai

modelplane.aiModelplane · The open source control plane for AI inferenceModelplane is the open source control plane for AI models. Deploy any model on any GPU infrastructure you own (cloud, neocloud, or on-premise) and let the control plane operate it continuously.

Using Spring Cloud AWS to integrate your Java apps with S3, DynamoDB, SQS? In this article, I show how to improve the workflows for local development and testing using Floci, an open-source AWS emulator by @hectorvent.bsky.social, and @arconia.io Dev Services. www.thomasvitale.com/spring-cloud...

thomasvitale.comLocal Development with Spring Cloud AWS, Floci, and Arconia Dev ServicesRun Spring Cloud AWS applications locally with Floci and Arconia Dev Services: a single dependency, fully open-source, no LocalStack token.

Thomas Vitale ☀️ reposted

If you have an exceptionally strong, automated CI pipeline with TDD and great test coverage, why are we still relying on asynchronous, manual gatekeeping instead of practising true continuous integration directly on the trunk? 🤔

Spring Boot 3.5 will go out of OSS support in a few days. Have you already upgraded to 4.0? I've implemented OpenRewrite recipes to automate most of the migration process. All free and open source. You can run them with the Arconia CLI or use the OpenRewrite Gradle/Mavens plugin.

If you don’t use @graalvm.org because of “slow build times” but you use GenAI, I’ve got bad news for you: Letting a GenAI agent build a standard Java application takes far longer than it takes me to build a native executable with GraalVM. Should we add elevator music to the agent?

Over the years, GraalVM compilation time has drastically improved. On my MacBook, it takes a few seconds. It’s actually the fastest operation in a development workflow that includes GenAI agents. Everything else is slower because GenAI-powered. It makes you think, right?

It was really exciting to officially introduce Arconia at Spring I/O last month. Open-source extension improving the developer experience on Spring Boot. I talked about dev services, observability, automated migrations, agent skills, and a sneak peek at the upcoming dev UI. @arconia.io

Spring I/O@springio.net

🍃 Arconia for Spring Boot: Dev Services, Automated Migrations, and Seamless Workflows by @thomasvitale.com @ Spring I/O 2026 ▶️ Video: youtu.be/UYBFbBfgYoE 🔗 Slides: speakerdeck.com/thomasvitale... #springio26

I can see the appeal of using tools like Stainless to autogenerate an SDK in any language. However, producing a 31MB JAR file for a Java SDK just to call an HTTP service feels a bit excessive to me. That’s without even considering the forced Kotlin transitive dependencies, though I have a Java app!