专业的编程技术博客社区

网站首页 > 博客文章 正文

LiteFlow编排式规则引擎框架使用?

baijin 2024-12-30 01:52:19 博客文章 11 ℃ 0 评论

在之前的分享中,我们介绍了一个流程引擎框架LiteFlow,这篇分享,主要是来介绍关于LiteFlow流程引擎框架如何去使用。

如何在Spring Boot项目中引入LiteFlow?

第一步、引入POM文件依赖

最新推出的版本就是2.11.0的版本,这里我们引入的也是这个最新版本。

       <dependency>
            <groupId>com.yomahub</groupId>
            <artifactId>liteflow-spring-boot-starter</artifactId>
            <version>2.11.0</version>
        </dependency>

第二步、编写流程组件

这里,我们按照顺序创建了三个基础组件,来测试相关的流程。

@Component("a")
public class ACmp extends NodeComponent {

	@Override
	public void process() {
		//do your business
		System.out.println("执行了A");
	}
}

@Component("b")
public class BCmp extends NodeComponent {

	@Override
	public void process() {
		//do your business
		System.out.println("执行了B");
	}
}

@Component("c")
public class CCmp extends NodeComponent {

	@Override
	public void process() {
		//do your business
		System.out.println("执行了C");
	}
}

第三步、编写流程配置文件

在resource路径下创建一个config的目录,然后在目录中添加如下的XML配置文件。

<?xml version="1.0" encoding="UTF-8"?>
<flow>
    <nodes>
        <node id="a" class="com.example.demo.component.ACmp"/>
        <node id="b" class="com.example.demo.component.BCmp"/>
        <node id="c" class="com.example.demo.component.CCmp"/>
    </nodes>

    <chain name="chain1">
        THEN(
        a, b, c
        );
    </chain>
</flow>

这里推荐安装一个LiteFlowX的插件,如下图所示。

第四步、添加配置文件

在Spring Boot的Yml配置文件中,添加如下的配置项。

liteflow:
  #规则文件路径
  rule-source: config/flow.el.xml

第五步、引入流程

在配置文件中添加如下的配置,用来引入chain1流程,并且编写一个测试流程控制类,方便调用流程显示内容。

@Component
public class FlowConfig {
    @Resource
    private FlowExecutor flowExecutor;

    public void testConfig(){
        LiteflowResponse response = flowExecutor.execute2Resp("chain1", "arg");
    }
}


@RestController
public class TestController {

    @Autowired
    private FlowConfig yourClass;

    @GetMapping("/test")
    public String test(){
        yourClass.testConfig();
        return "";
    }
}

第六步、启动项目进行测试

操作完成之后,启动项目然后调用http://localhost:8080/test接口,这个时候会看到控制台中有如下的输出,这个时候就表示该流程已经配置成功了。当然在flow配置文件中,我们只配置了一个chain1流程操作,我们也可以配置新的流程内容。

总结

到这里,整个的基础流程配置就算开发完成了,会看到,确实不需要再去编写各种的条件判断语句了,并且这个流程引擎在使用起来要比其他的流程引擎更加轻量级。但是它也有它的弊端,就是在配置一些复杂流程的时候,可能无法与Activities等流程引擎相提并论。

本文暂时没有评论,来添加一个吧(●'◡'●)

欢迎 发表评论:

最近发表
标签列表