Now in your hands
Memory Adaptive Runtime Zone
@Marz(key = "feature.checkout")
private volatile boolean enabled = false;
// Value updates at runtime. No restart.
Add @Marz to any field — boolean, int, long, double, or String.
Point it at your config file.
Change the value in your YAML, JSON, or properties file. The WatchService detects the change instantly.
The field swaps in ~50ms. Next read sees the new value. No restart, no proxy, no bean rebuild.
@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> | 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 |
Add the Maven dependency. Annotate a field. Edit your config. You'll have runtime hot-swap in under 60 seconds.