easy-rules-centraldogma-spring-boot-starter spel 模版格式说明

基于模版格式的代码,看着会比较清晰,所以添加了一个新的配置参数template 可以开启此选项

参考配置

easyrules:
  skipOnFirstAppliedRule: false
  skipOnFirstNonTriggeredRule: false
  priorityThreshold: 1000000
  project: demo
  repo: demo
  contentType: json
  confName: /rules3.json
  template: true
centraldogma:
  hosts:
    - "127.0.0.1:36462"
server:
  port: 9000
 
 

rule 配置说明

需要使用#{} 格式,因为easy rules 默认会讲facts 对象的内容转为map,我们可以使用#进行变量引用,以下是参考配置

[
  {
    "rulesId": "demoapp",
    "rulesContent": [
      {
        "name": "demo",
        "description": "mydemo",
        "priority": 1,
        "compositeRuleType": "UnitRuleGroup",
        "composingRules": [
          {
            "name": "first",
            "description": "first rule",
            "condition": "#{#biz.age>100}",
            "priority": 2,
            "actions": [
              "#{@myService.setInfo(#biz)}" //  @ 引用spring bean  # 引用变量
            ]
          }
        ]
      }
    ]
  }
] 

参考资料

https://docs.spring.io/spring-framework/docs/current/reference/html/core.html#expressions
https://github.com/rongfengliang/easy-rules-centraldogma-spring-boot-starter

原文地址:https://www.cnblogs.com/rongfengliang/p/15171851.html