· Naman Sharma

Introducing MARZ: Runtime Config Hot-Swap for Java

announcementjavaspring

Every Java developer knows the drill. You change a configuration value, and you restart the application. In production, that means deployment tickets, change windows, and 15-45 minutes of downtime risk — for a boolean toggle.

MARZ changes that with a single annotation:

@Marz(key = "feature.checkout.enabled", source = "file://config/features.yml")
private volatile boolean newCheckoutEnabled = false;

Edit the YAML file. The field updates in ~50ms. The next read sees the new value. No restart. No proxy. No bean rebuild.

Why not @RefreshScope?

Spring Cloud Config’s @RefreshScope works at the bean level — it tears down and reconstructs the entire bean when you hit /actuator/refresh. That means brief disruption, CGLIB proxy overhead on every read, and a dependency on Spring Cloud Config Server + a message bus.

MARZ works at the field level. A single volatile write. ~5ns reads. Zero infrastructure.

What’s next

MARZ is open source under the Apache 2.0 license. Star us on GitHub, try the quickstart, and let us know what you think.