LiteFlow logo

LiteFlow

Lightweight Java rule engine for dynamic workflow orchestration

LiteFlow provides a compact, high‑performance rule engine that lets you define, hot‑reload, and execute complex business flows using XML, JSON, or YML, with multi‑language scripting and Spring integration.

Overview

Overview

LiteFlow is a Java‑based rule engine designed for developers who need to orchestrate complex business processes without heavy boilerplate. By expressing flow logic in lightweight DSL files (XML, JSON, or YML), teams can quickly prototype and evolve workflows, while the engine handles synchronous and asynchronous component execution.

Capabilities & Deployment

The framework offers a unified component model, hot‑refresh of rule definitions, and support for multiple scripting languages such as Groovy, JavaScript, Python, and Lua. It integrates seamlessly with Spring Boot, Spring, or any standard Java application, and can load rules from local files, Zookeeper, or custom sources. With built‑in monitoring and detailed step tracing, developers gain visibility into performance and error handling, making LiteFlow suitable for high‑concurrency production environments.

Who Benefits

  • Backend engineers building micro‑service orchestrations.
  • Teams needing rapid rule iteration without redeploying the whole service.
  • Organizations that require multi‑language scripting within a single workflow engine.

Deploy LiteFlow as a library dependency, configure rule sources, and let the engine manage execution and retries automatically.

Highlights

Unified component model for all business logic
Hot‑reload of rules without application restart
Multi‑language scripting (Groovy, JavaScript, Python, Lua, etc.)
Flexible rule definitions in XML, JSON, or YML

Pros

  • Fast learning curve – rules readable in minutes
  • Works with Spring Boot, Spring, or plain Java projects
  • High concurrency safe with context isolation
  • Extensive test coverage and stable production use

Considerations

  • Primarily Java ecosystem; not native to other runtimes
  • Complex nested flows may require careful design
  • Limited visual designer; rules are text‑based
  • Advanced features (e.g., custom sources) need additional coding

Fit guide

Great for

  • Enterprises needing decoupled, maintainable workflow orchestration
  • Projects that require hot‑reloading of business rules
  • Teams that prefer DSL over hard‑coded process logic
  • Java applications that benefit from multi‑language script nodes

Not ideal when

  • Non‑Java environments without a JVM
  • Simple CRUD services where a full rule engine adds overhead
  • Organizations requiring a graphical workflow builder out of the box
  • Use cases demanding real‑time visual monitoring dashboards

How teams use it

Order fulfillment orchestration

Dynamically route orders through inventory check, payment, and shipping components with hot‑reloadable business rules.

Fraud detection pipeline

Combine Groovy scripts and asynchronous components to evaluate transactions in real time, updating detection criteria without downtime.

Micro‑service saga coordination

Manage compensating actions across services using declarative components and automatic retry policies.

Dynamic pricing engine

Adjust pricing rules on the fly via JSON files, leveraging multi‑language scripts for complex calculations.

Tech snapshot

Java100%
Groovy1%
CodeQL1%
Kotlin1%
Python1%

Tags

componentworkflow-enginerules-enginerule-enginejava-ruledsljava-rule-enginehot-reloadflow-engine

Frequently asked questions

Which Java versions are supported?

LiteFlow runs on JDK 8 through JDK 25.

Can I use LiteFlow with Spring Boot 3?

Yes, full support is provided for Spring Boot 2.x and the latest 3.x releases.

How are rule changes applied without restarting the app?

The engine watches configured rule sources and refreshes them in place, preserving ongoing executions.

Is there a way to store rules outside the file system?

LiteFlow includes built‑in Zookeeper support and an extension point for custom rule repositories.

What monitoring capabilities are available?

A built‑in command‑line monitor shows component execution times, success rates, and error details.

Project at a glance

Active
Stars
3,627
Watchers
3,627
Forks
499
LicenseApache-2.0
Repo age5 years old
Last commit2 months ago
Primary languageJava

Last synced 47 minutes ago