CONTROL

Now in your hands

Memory Adaptive Runtime Zone

@Marz(key = "feature.checkout")
private volatile boolean enabled = false;
// Value updates at runtime. No restart.

Three steps. Zero restarts.

01

Annotate

Add @Marz to any field — boolean, int, long, double, or String. Point it at your config file.

02

Edit config

Change the value in your YAML, JSON, or properties file. The WatchService detects the change instantly.

03

Value updates

The field swaps in ~50ms. Next read sees the new value. No restart, no proxy, no bean rebuild.

One annotation. That's the entire API.

@Service
public class CheckoutService {
@Marz(key = "feature.checkout.enabled", source = "file://config/features.yml") private volatile boolean newCheckoutEnabled = false; // Edit the YAML → field updates in ~50ms // No restart. No proxy. No @RefreshScope. Just volatile. }

Add to your project

<dependency>
    <groupId>com.mymarz</groupId>
    <artifactId>marz-spring-boot-starter</artifactId>
    <version>0.1.0</version>
</dependency>

Honest comparison

MARZ @RefreshScope Rolling Restart LaunchDarkly
Config change speed ~50ms 2-10s (bean rebuild) 15-45 min ~200ms (network)
Read performance ~5ns (volatile) ~50ns (CGLIB proxy) ~5ns (after restart) ~1ms (SDK call)
Requires restart No No (but rebuilds beans) Yes No
Infrastructure needed None Config Server + Bus CI/CD pipeline SaaS dependency
Granularity Field-level Bean-level Full app Flag-level
Cost Free (OSS) Free DevOps time $20K-$120K/yr
~5ns read latency volatile field access. Zero IO. Zero proxy.
~50ms swap time WatchService detects change. AtomicReference swaps value.
0 restarts Ever. That's the point.

Ready to stop restarting?

Add the Maven dependency. Annotate a field. Edit your config. You'll have runtime hot-swap in under 60 seconds.