springboot整合liteflow的实现示例
liteflow是一个轻量级的规则引擎,基于工作台模式,通过抽象出来的组件来将复杂的内部业务逻辑进行解偶,可以在价格,下单等包含复杂业务逻辑的场景中应用。
下面演示一下springboot如何整合liteflow
1.引入依赖
<dependency>
<groupId>com.yomahub</groupId>
<artifactId>liteflow-spring-boot-starter</artifactId>
<version>2.12.4.1</version>
</dependency>2.在application中添加配置,指定规则编排的配置文件
liteflow: rule-source: config/flow.el.xml
3.定义规则编排的配置文件,在resource/config下面新建flow.el.xml文件
<?xml version="1.0" encoding="UTF-8"?>
<flow>
<chain name="chain1">
THEN(a, b);
</chain>
</flow>4.定义上面组件的a,b组件
@Component
public class A extends NodeComponent {
@Override
public void process() throws Exception {
System.out.println("A execute");
}
}@Component("b")
public class B extends NodeComponent {
@Override
public void process() throws Exception {
System.out.println("B execute");
}
}5.执行规则引擎,通过上面定义的规则名称,chain1,传入参数即可调用
@RestController
public class LiteflowController {
@Resource
private FlowExecutor flowExecutor;
@GetMapping("liteflow/test")
public Result<String> liteflowTest(){
LiteflowResponse liteflowResponse = flowExecutor.execute2Resp("chain1", "arg");
return Result.success("SUCCESS");
}
}到此这篇关于springboot整合liteflow的实现示例的文章就介绍到这了,更多相关springboot liteflow内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!
相关文章
Springboot使用redisson实现分布式锁的代码示例
在实际项目中,某些场景下可能需要使用到分布式锁功能,那么实现分布式锁有多种方式,常见的如mysql分布式锁、zookeeper分布式锁、redis分布式锁,本文介绍springboot如何使用redisson实现分布式锁,需要的朋友可以参考下2023-06-06
IDEA中使用Gradle构建项目中文报GBK错误的解决方案
这篇文章主要介绍了IDEA中使用Gradle构建项目中文报GBK错误的解决方案,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐教2025-04-04
Java concurrency之AtomicLongFieldUpdater原子类_动力节点Java学院整理
AtomicLongFieldUpdater可以对指定"类的 'volatile long'类型的成员"进行原子更新。它是基于反射原理实现的。下面通过本文给大家分享Java concurrency之AtomicLongFieldUpdater原子类的相关知识,感兴趣的朋友一起看看吧2017-06-06


最新评论