我正在使用rest来激发使用ruleflow组定义的brms7中的规则,我输入的json数据如下所示:
{
"commands": [
{
"insert": {
"object": {
"com.myspace.driver_department_traffic_violations.Violation": {
"speedLimit": 40,
"type": "Speed",
"actualSpeed": 55
}
}
}
},
{
"fire-all-rules": {}
},
{
"get-objects": {
"out-identifier": "violation"
}
},
{
"dispose": {}
}
]}
问题是如何在json数据内分配规则流组?服务器中的规则已分配了规则流组,我需要在json中分配规则流组名称以触发规则。
非常感谢!
最诚挚的问候
答案 0 :(得分:0)
我知道这个问题已经存在一段时间了,所以我只是把答案扔在这里,以防有人来寻找答案。
在我的示例中,规则流组称为“事件”。
{
"lookup": "defaultKieSession",
"commands": [
{
"insert": {
"object": {
"com.myspace.driver_department_traffic_violations.Violation": {
"speedLimit": 40,
"type": "Speed",
"actualSpeed": 55
}
},
"out-identifier": "violation"
}
},
{
"set-focus": {
"name": "incident"
}
},
{
"fire-all-rules": {}
}
]
}
要在Decision Server上远程执行,您的代码应如下所示:
List<Command<?>> commands = new ArrayList<>();
KieServices kieServices = KieServices.Factory.get();
KieCommands commandFactory = kieServices.getCommands();
commands.add(commandFactory.newAgendaGroupSetFocus("incident"));
如果您想知道,AgendaGroups也将以相同的方式对待。 您可以从文档中阅读关于this excerpt的内容。