RepoJournal
Spring

@spring-projects

Spring Framework, Spring Boot, and the JVM enterprise layer

Pick a date

Topics: Java Full archive →

The Wire · Showcase

SPRING BOOT FIXES LAZY INITIALIZATION TRAP THAT BREAKS JPA APPS

By RepoJournal · Filed · About Spring

Spring Boot patched a critical dependency loop where JPA configuration was forcing early instantiation of every AsyncTaskExecutor bean in your app, even when background bootstrapping wasn't enabled.

The entityManagerFactoryBuilder was eagerly resolving a Map of AsyncTaskExecutor beans to pick a fallback executor for background JPA work [1] [2]. This forced initialization of every executor in the container upfront, creating circular dependency nightmares when those executors depended on EntityManager itself. The fix lazily resolves the executor only when background bootstrapping is actually in use, a common pattern that should have been there from day one. Spring Boot also tightened up logging system cleanup [3], preventing the framework from removing JUL bridge handlers that applications had installed themselves. Meanwhile, Spring Security bumped Kotlin to 2.4.10 [6], Spring Kafka fixed nullability contracts on its send overloads to match actual behavior [7], and Spring Tools ripped out the deprecated jdk_tools bundle in favor of VM agent JMX URLs for local debugging [8]. Gradle 9.6.1 landed across the stack [4] [5] with some new deprecation warnings suppressed.

Action items

References

  1. [1] Lazily resolve JPA fallback bootstrap executor spring-projects/spring-boot
  2. [2] JpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor ↗ spring-projects/spring-boot
  3. [3] Avoid removing application-managed JUL bridge handler spring-projects/spring-boot
  4. [4] Polish "Upgrade to Gradle 9.6.1" spring-projects/spring-boot
  5. [5] Upgrade to Gradle 9.6.1 spring-projects/spring-boot
  6. [6] Bump org-jetbrains-kotlin from 2.4.0 to 2.4.10 ↗ spring-projects/spring-security
  7. [7] GH-4524: Fix Kafka send overload nullability ↗ spring-projects/spring-kafka
  8. [8] Use VM agent JMX URL for local processes. Remove jdk_tools bundle ↗ spring-projects/spring-tools

Quick answers

What shipped in Spring on July 15, 2026?
Spring Boot patched a critical dependency loop where JPA configuration was forcing early instantiation of every AsyncTaskExecutor bean in your app, even when background bootstrapping wasn't enabled. In total, 26 commits and 7 pull requests landed.
Who contributed to Spring on July 15, 2026?
8 developers shipped this update, including Ns, Stéphane Nicoll, dhruv-15-03, Jens Schauder, dependabot, Soby Chacko, 박하민, and BoykoAlex.
What were the notable Spring updates?
Lazily resolve JPA fallback bootstrap executor, JpaBaseConfiguration#entityManagerConfiguration can cause a dependency loop on beans declaring AsyncTaskExecutor, and Avoid removing application-managed JUL bridge handler.

More from @spring-projects

Daily updates, in your inbox

Follow Spring

Spring Framework, Spring Boot, and the JVM enterprise layer We'll email you a link to confirm first.

Free. Confirm via email. Unsubscribe in one click.

— or follow the whole beat:

Elsewhere on the wire