explaingit

dromara/liteflow

Analysis updated 2026-07-03

3,740JavaAudience · developerComplexity · 3/5Setup · moderate

TLDR

LiteFlow is a Java framework that breaks complex business processes into small reusable components driven by rule files in XML, JSON, or YAML, with hot-reload and built-in support for scripting languages so rules update without a restart.

Mindmap

mindmap
  root((repo))
    Core Idea
      Components as steps
      Rule files drive flow
      Hot deployment
    Rule File Formats
      XML
      JSON
      YAML
    Execution Features
      Sync and async mixing
      Conditional branching
      Sub-flows
      Retry policies
    Script Languages
      Groovy
      JavaScript
      Python
      Lua
    Integration
      Spring Boot 2 and 3
      Plain Spring
      JDK 8 plus
Click or tap to explore — scroll the page freely

Code map

Detail Auto

An interactive map of this repo's files and how they connect — its source is parsed live in your browser. Click Visualize to build it.

filefunction / class

What do people build with it?

USE CASE 1

Refactor a complex multi-step business workflow like order processing or approval chains into independent components driven by a rule file

USE CASE 2

Allow non-engineers to update business logic in script nodes without a full build and deployment cycle

USE CASE 3

Add per-step retry policies and exception handling to a business process without rewriting the core application logic

What is it built with?

JavaSpring BootGroovyJavaScriptPythonLuaKotlin

How does it compare?

dromara/liteflowhelloworld521/javacoderbruis/javasourcecodelearning
Stars3,7403,7413,738
LanguageJavaJavaJava
Setup difficultymoderatemoderateeasy
Complexity3/52/51/5
Audiencedeveloperdeveloperdeveloper

Figures from each repo's GitHub metadata at analysis time.

How do you get it running?

Difficulty · moderate Time to first run · 30min

Requires JDK 8 or later and a Spring Boot application, rule files must be configured before the first run.

License information is not mentioned in the description.

In plain English

LiteFlow is a Java framework for orchestrating complex business logic into reusable components and driving their execution through simple rule files. The core idea is that instead of writing a large tangled block of code to handle a multi-step business process, you break each step into a small component and then describe the order and conditions of execution in a separate rule file using a lightweight expression language. The framework reads that rule file and runs the components accordingly. The rule files can be written in XML, JSON, or YAML, whichever your team prefers. The expression language supports mixing synchronous and asynchronous execution, conditional branching, and nested sub-flows, so processes that would otherwise require complex multi-threaded code can be described clearly in a few lines. If a business rule changes, you update the rule file and the running application picks it up immediately without a restart, which the project calls hot deployment. Each component in the system is a plain Java class, and the framework supports declarative annotation to register a class as a component with minimal extra code. Components can be configured to retry automatically on failure, with per-component retry policies and exception filters. A built-in context isolation mechanism prevents components from interfering with each other's data in concurrent situations. Script language support is a notable feature: nodes in a flow can contain logic written in Groovy, JavaScript, Python, Lua, Kotlin, or other languages rather than compiled Java, which allows non-engineers to modify behavior without a build cycle. LiteFlow supports Spring Boot 2 and 3, plain Spring, and other Java frameworks. It requires JDK 8 or later. The project was open-sourced in 2020, has been adopted on core systems at several companies in China, and includes more than 2,000 test cases. Documentation and a Discord community are available on the official website at liteflow.cc.

Copy-paste prompts

Prompt 1
Using LiteFlow, show me how to split a three-step order validation process into separate components and wire them together in an XML rule file with Spring Boot.
Prompt 2
How do I define a LiteFlow node that runs a Groovy script so a business analyst can edit the logic directly without recompiling the Java application?
Prompt 3
I have a LiteFlow flow with parallel steps and I need to add a retry policy to one of them. Show me how to configure per-component retries and which exceptions to filter.
Prompt 4
How does LiteFlow's hot deployment work in practice? Walk me through updating a rule file at runtime and confirming the running application picks up the change without a restart.
Prompt 5
Show me how to use LiteFlow's context isolation feature to prevent two parallel components from reading each other's intermediate data in a concurrent flow.

Frequently asked questions

What is liteflow?

LiteFlow is a Java framework that breaks complex business processes into small reusable components driven by rule files in XML, JSON, or YAML, with hot-reload and built-in support for scripting languages so rules update without a restart.

What language is liteflow written in?

Mainly Java. The stack also includes Java, Spring Boot, Groovy.

What license does liteflow use?

License information is not mentioned in the description.

How hard is liteflow to set up?

Setup difficulty is rated moderate, with roughly 30min to a first successful run.

Who is liteflow for?

Mainly developer.

Open on GitHub → Explain another repo

This repo across BitVibe Labs

Scan in gitsafehub Deploy in gitdeployhub dromara on gitmyhub

Verify against the repo before relying on details.