创建一个简单的Java规则引擎
我们正在尝试为消费者构建一个通用警报注册服务。以下是我们试图解决的问题:创建一个简单的Java规则引擎,java,rule-engine,Java,Rule Engine,我们正在尝试为消费者构建一个通用警报注册服务。以下是我们试图解决的问题: 警报可以注册“N”个模板。每个模板都将根据规则匹配进行提取 规则是这样的: abstract class Rule { private String field; private Operator symbol; private String fieldValue } {“规则1”:{“字段名”:“字段1”,“运算符”:“>”,“值”:“100”} 字段名可以是-accountBal、statu
abstract class Rule
{
private String field;
private Operator symbol;
private String fieldValue
}
{“规则1”:{“字段名”:“字段1”,“运算符”:“>”,“值”:“100”}
字段名可以是-accountBal、status等。运算符可以是像(“+”、“-”、“/”、“*”)这样的算术运算符,也可以是像(&&&、==、||)这样的逻辑运算
我们计划定义/注册服务和/执行服务List
任何帮助都将不胜感激
我曾计划在StandardEvaluationContext中使用自定义规则引擎,但一个示例将帮助我开始。我使用Apache Velocity创建了一个规则引擎。
Velocity提供了“eval”函数,该函数能够计算布尔表达式。您有什么具体问题吗?请看:是的。我正在尝试了解如何将Spring EL StandardEvaluationContext与RuleRegistry结合使用,以注册规则并在运行时执行。Java脚本API(比如使用JavaScript)就可以了,在哪里“rule”则是一个脚本(或函数)计算为布尔结果。优点:数值类型。或者,由于Java 9:REPL功能,也可以编程。