Skip to content
Free & Open Source

Stop Restarting Your
Spring Application

Edit code, see changes live. Reclazz hot-swaps Java classes the moment you build. Spring beans refresh, MVC mappings re-scan, caches evict — all in ~50ms. No restart needed.

Not yet on the Marketplace? Download from GitHub Releases in the meantime.

Deep Spring Integration.
Not Just Hot-Swap.

Reclazz understands Spring internals. When a class reloads, beans refresh, mappings re-scan, caches evict, and schedulers re-register — automatically.

🌱

Spring Bean Refresh

Automatically destroys and recreates singleton beans after class reload. Your changes take effect immediately without losing application state.

🔌

MVC Re-scan

Re-registers @RequestMapping methods when controllers change structurally. New endpoints are available instantly.

🔥

Cache Eviction

Evicts Spring caches for classes with @Cacheable, @CacheEvict, or @CachePut. No stale data after reload.

Scheduler Reload

Cancels and re-registers @Scheduled tasks. Changed cron expressions and fixed-rate schedules apply immediately.

🛠

Structural Changes

Add or remove methods and fields on the fly with JetBrains Runtime or DCEVM. Go beyond method body changes.

🛡

AOP & Events

Clears AOP proxy caches for @Aspect classes. Re-registers @EventListener methods. Refreshes @Async processing.

📚

Spring Data & Security

Refreshes Repository beans. Detects @EnableWebSecurity and SecurityConfigurer changes. Full Spring ecosystem support.

Instant Hot-Swap

Redefines classes in the running JVM via the Instrumentation API. Method body changes apply in ~50ms. Zero downtime.

🔒

100% Local & Private

No telemetry, no analytics, no license server, no outbound requests. Everything runs on your machine. Your code never leaves your environment.

Reclazz vs DevTools vs JRebel

Spring Boot DevTools restarts your entire context. JRebel costs $550+/year. Reclazz is free, open-source, and performs true in-place hot-swap.

Feature Reclazz Spring Boot DevTools JRebel
PriceFree & open sourceFree$550+/year
Reload typeIn-place hot-swapFull context restartIn-place hot-swap
Application statePreservedLost on restartPreserved
Reload speed~50msSeconds~50ms
Method body changes (restart)
Add/remove methods & fields (with JBR) (restart)
Spring bean refresh (restart)
MVC mapping re-scan (restart)
Cache eviction (restart)Partial
@Scheduled re-register (restart)
@EventListener refresh (restart)
AOP proxy refresh (restart)Partial
SAP Commerce supportPurpose-builtGeneric
Open source Apache 2.0

Works With Your JDK

Reclazz auto-detects your JDK and configures the right flags. Structural changes work everywhere; JetBrains Runtime additionally makes new members visible to reflection.

Standard JDK

JDK 17 / 21 / 25 — any vendor
  • Method body changes
  • Add & remove methods and fields
  • Spring bean refresh
  • MVC re-scan & cache eviction
  • Scheduler & event reload
  • Auto-configured --add-opens flags

JetBrains Runtime / DCEVM optional

JBR / DCEVM 17 / 21 / 25
  • Everything above, plus:
  • New members visible to reflection
  • Reflective caches see them without a restart
  • Change annotations
  • Auto-configured -XX:+AllowEnhancedClassRedefinition

How Reclazz Works

A lightweight Java agent runs inside your application JVM. It watches compiled classes and orchestrates Spring-aware reloading.

What Can't Be Hot-Reloaded

These are fundamental JVM and framework limitations that no tool can fully overcome.

Class Hierarchy Changes

Changing superclass or interfaces is a JVM limitation. No tool can work around this — requires a restart.

Reflection on New Members (standard JDKs)

Adding and removing methods or fields works on any JDK 17+. On a standard JDK the new members live on a hidden companion class, so code that calls them directly sees them, but reflection on the original class and caches built at startup (Hybris ModelService, Jackson) do not until a restart. JetBrains Runtime or DCEVM removes that caveat.

Spring Configuration Changes

Configuration file changes (application.properties, application.yml, XML bean definitions) are loaded at startup and require a restart.

New Spring Beans

Adding entirely new @Component classes requires a restart — Spring's component scanning runs at startup. Modifying existing beans works out of the box.

Up and Running in 3 Steps

1

Add the Agent

Add the -javaagent flag to your JVM arguments, or install the IntelliJ plugin for automatic injection.

-javaagent:/path/to/reclazz-agent.jar
2

Run Your App

Start your Spring Boot application normally. Reclazz auto-detects your project layout and begins watching.

mvn spring-boot:run
3

Build & Reload

Change your code, then compile. Reclazz hot-swaps the changes automatically. No restart needed.

mvn compile — or — gradle classes

Frequently Asked Questions

No. Reclazz uses the standard JVM Instrumentation API — the same mechanism used by debuggers and profilers. If a hot-swap fails (e.g., a structural change on standard OpenJDK), the original class remains loaded and your application continues running normally.
DevTools restarts the entire Spring application context on every change, which takes seconds and loses all application state. Reclazz performs true in-place class redefinition — your state is preserved, and reloads complete in ~50ms. Reclazz also handles Spring-specific concerns like MVC re-scanning, cache eviction, and scheduler re-registration without a restart.
Yes. Reclazz auto-detects target/classes (Maven) or build/classes/java/main (Gradle) from the classpath. Just run mvn compile or gradle classes and Reclazz hot-swaps the changes automatically.
Reclazz reports the error in the tool window and via a notification. The original class stays loaded — your application is never left in a broken state. Common causes: superclass or interface changes, which always require a restart.
No. Reclazz is 100% local. There is no telemetry, no analytics, no license server, and no outbound network requests. Everything runs entirely on your machine. Your code never leaves your environment.
Yes. Reclazz has purpose-built support for SAP Commerce including extension-aware class watching, interceptor reload (Validate, Prepare, Load, Remove), and ImpEx auto-import. It auto-detects the Hybris platform at startup and configures itself accordingly.
Not required. Structural changes (adding and removing methods and fields) work on any JDK 17+. JetBrains Runtime or DCEVM additionally makes those new members visible to reflection and to caches built at startup. Reclazz auto-detects which runtime you're using and configures itself accordingly.

Stop Wasting Time on
Application Restarts

Spring Boot DevTools restarts take seconds and lose your state. Reclazz reloads in ~50ms and preserves everything. Free and open source.