Drools:通过REST同时执行多个规则

时间:2017-08-03 13:07:32

标签: rest drools rule-engine kie-workbench

我是流口水的新手。我想根据条件同时触发多个规则。 我使用批处理执行命令如下,但它给了我错误:" 错误的请求,没有要执行的命令 - 格式错误或没有数据"

{
"batch-execution":{
    "lookup":"defaultKieSession",
    "commands":[
        {
            "insert":{
                "out-identifier":"TestAdvance",
                "object":{
                    "LoanAdvance":{
                        "tenure":4,
                        "isBlacklisted":false
                    }
                }
            }
        },
        {
            "insert":{
                "out-identifier":"TestAdvance",
                "object":{
                    "LoanAdvance":{
                        "tenure":3,
                        "isBlacklisted":false
                    }
                }
            }
        },
        {
            "fire-all-rules":{

            }
        }
    ]
}
}

我在指导决策表中的规则如下所示: the rule

我想向规则引擎发出REST请求,并将结果集作为列表。 请确认我的JSON请求是否正确。或者有更好的方法来实现同样的目标吗? 任何帮助将不胜感激。

谢谢&此致

1 个答案:

答案 0 :(得分:1)

您使用的json请求格式不正确。使用JSON请求有效负载时,无需使用'批量执行",删除它。正确的JSON请求将如下所示:

{
  "commands":[
         {
        "insert":{
           "out-identifier":"obj",
           "object":{
              "example.project4_91839699.Person":{
                 "firstName":"abc",
                 "lastName":"abc", 
                 "hourlyRate":22,
                 "wage":100    
              }
           }
        }
     },{
        "insert":{
           "out-identifier":"obj2",
           "object":{
              "example.project4_91839699.Person":{
                 "firstName":"xyz",
                 "lastName":"xyz", 
                 "hourlyRate":24,
                 "wage":100    
              }
           }
        }
     }
     {
        "fire-all-rules":""
     }
  ]

}