Modern FFM Bindings
Native bindings through Java's Foreign Function & Memory API (JDK 22+). No JNI or JNA overhead.
GoRules Version 2 is here - redesigned, now with managed cloud.GoRules Version 2 is here!
Watch the launch videoWatchOpen source Java rules engine with native FFM bindings. Enterprise-grade decision tables and rule evaluation for Spring Boot and JVM apps.
Install the SDK, load a decision graph, evaluate - the same JSON your team edits in the visual editor runs in your process.
// Maven
<dependency>
<groupId>io.gorules</groupId>
<artifactId>zen-engine</artifactId>
<version>2.0.0</version>
</dependency>
// Gradle
implementation 'io.gorules:zen-engine:2.0.0'import io.gorules.zen_engine.JsonBuffer;
import io.gorules.zen_engine.ZenDecision;
import io.gorules.zen_engine.ZenEngine;
import java.nio.file.Files;
import java.nio.file.Path;
ZenEngine engine = new ZenEngine(null, null);
String content = Files.readString(Path.of("./decision.json"));
ZenDecision decision = engine.createDecision(new JsonBuffer(content));var context = new JsonBuffer("""
{
"customer": { "tier": "premium", "country": "US" },
"cart": { "total": 150, "items": 3 }
}
""");
var result = decision.evaluate(context, null).get();
System.out.println(result.result());
// {"discount":15,"freeShipping":true}Built for performance and developer experience - native speed with an API that feels at home in your codebase.
Native bindings through Java's Foreign Function & Memory API (JDK 22+). No JNI or JNA overhead.
Plain Java API that drops into Spring Boot, Quarkus, or any JVM service without extra setup.
Fully thread-safe engine designed for concurrent JVM applications. Share one engine across threads.
GoRules delivers a production-ready business rules engine for Java applications. The SDK provides native bindings through Java's Foreign Function & Memory API (FFM), connecting your Java code directly to our high-performance Rust core while maintaining the familiar Java development experience.
Designed for enterprise workloads, the engine integrates seamlessly with Spring Boot, Quarkus, and other popular Java frameworks. Whether you're building microservices, batch processing systems, or traditional enterprise applications, GoRules handles complex decision logic with consistent sub-millisecond performance.
The SDK supports all GoRules features including decision tables, expressions, and complex rule graphs. Decision definitions created in the visual editor work directly with the Java SDK, enabling business users to modify rules without requiring code deployments or developer intervention.
See the public Zen Engine benchmarksThe engine is open source and free forever - add the GoRules BRMS when your team needs versioning, approvals, and an audit trail.