一飞开源,介绍创意、新奇、有趣、实用的开源应用、系统、软件、硬件及技术,一个探索、发现、分享、使用与互动交流的开源技术社区平台。致力于打造活力开源社区,共建开源新生态!
一、开源项目简介
提供了普通规则、规则集、决策表、以及应对复杂场景的函数支持,可以适用任何业务需求。业务逻辑实现不再依赖于代码开发,可零代码实现复杂业务逻辑!
使用Apache-2.0开源协议
规则引擎开源版 RuleEngine
基于web可视化配置,简单高效快捷。
业务逻辑实现不再依赖于代码开发,可零代码实现复杂业务逻辑!
无需开发人员即可配置复杂的规则业务,提供了非常方便的操作界面,小白也可以驾驭自如。
我们提供了普通规则、规则集、决策表、以及应对复杂场景的函数支持,可以适用任何业务需求。
规则配置后动态加载到内存中,独创了一套自己的规则模式匹配算法以及数据结构,可以从根本上保证规则运行的效率,实现大量复杂业务规则计算时的毫秒级响应。
来源:规则引擎 RuleEngine 官网文档
五、技术选型
调用规则方项目pom.xml文件引入以下依赖
<dependency> <groupId>cn.ruleengine</groupId> <artifactId>rule-engine-client</artifactId> <version>2.0</version> </dependency>
SpringBoot项目application.yml配置文件配置
详细内容请查看 README.md 文档。
然后编写如下代码进行测试:
@EnableRuleEngine @RunWith(SpringRunner.class) @SpringBootTest public class RuleTest { @Resource private RuleEngineClient ruleEngineClient; @Test public void test() { // 构建规则请求参数 PhoneTestRule phoneTestRule = new PhoneTestRule(); phoneTestRule.setPhone("134000000000"); // 调用执行引擎中的规则 GeneralRule generalRule = this.ruleEngineClient.generalRule(); Output output = generalRule.execute(phoneTestRule); System.out.println(output); } } @Data @Model(code = "phoneRuletest") public class PhoneTestRule { /** * 可选,默认code为属性name */ @InputParameter(code = "phone") private String phone; }
更多调用方式,请查看 README.md 文档。
评论