在流程和节点中引入规则引擎

规则引擎的功能和特点是在不改变流程,不重新部署工程的情况下,动态的配置策略信息,修改策略逻辑.达到动态的业务配置目的。

举一个简单的例子.一个销售机构销售一种商品,当该商品的数量小于100的时候不需要运输部门负责运输,则不需要通知运输部门。但是当大于100的时候则需要运输部门负责运输,但有的时候这个100的数量是可变的,有的时候是150,有的时候甚至是200。但是这个数量如果写在了Code里,就写死了。这个时候我们就可以通过业务规则引擎来帮助我们在流程外配置这个属性

 

实现业务规则引擎DEMO

  • 0
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
LiteFlow是一款基于Springboot的规则引擎插件,它提供了一种简单、灵活、易于使用的方式来定义和执行特定业务场景下的流程。 LiteFlow的主要特点包括: 1. 配置简单:LiteFlow使用XML文件定义流程,易于配置和维护。 2. 流程灵活:LiteFlow支持嵌套流程、条件分支、循环等复杂流程控制。 3. 执行可控:LiteFlow提供了流程执行日志和异常处理机制,方便排查问题。 4. 扩展性强:LiteFlow支持自定义流程节点和事件处理器,方便扩展业务逻辑。 使用LiteFlow需要进行以下几个步骤: 1. 引入LiteFlow依赖:在pom.xml文件添加LiteFlow的依赖。 2. 定义流程:在XML文件定义流程节点流程控制方式。 3. 编写业务逻辑:根据流程定义,编写业务逻辑代码。 4. 执行流程:调用LiteFlow的流程执行方法,执行业务逻辑。 例如,下面是一个简单的LiteFlow流程定义示例: ```xml <?xml version="1.0" encoding="UTF-8"?> <flow id="myFlow"> <start id="startNode"/> <node id="node1" class="com.example.MyNode1"> <input name="input1" type="string"/> <output name="output1" type="string"/> </node> <node id="node2" class="com.example.MyNode2"> <input name="input2" type="string"/> <output name="output2" type="string"/> </node> <end id="endNode"/> <transition from="startNode" to="node1"/> <transition from="node1" to="node2"/> <transition from="node2" to="endNode"/> </flow> ``` 在上述示例,定义了一个名为“myFlow”的流程,包含了三个节点和两个转移条件。其节点“node1”和“node2”分别对应“com.example.MyNode1”和“com.example.MyNode2”两个Java类,用于定义具体的业务逻辑。 LiteFlow的使用方式灵活多样,可以根据具体业务场景进行定制和扩展。通过LiteFlow的帮助,可以简化业务流程的定义和执行,提升业务处理效率和可维护性。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值