问题描述
我使用Workbench(7.17.0)部署具有一些规则的项目,然后像这样请求kie-server:
url:http://*.*.*.*:*/kie-server/services/rest/server/containers/instances/LtangsTestProject
正文:
{
"commands": [
{
"insert": {
"out-identifier": "person","object": {
"com.riskspace.ltangstestproject.Person": {
"name": "linweijiang","age": 27,"balance": 120000.00
}
}
}
},{
"fire-all-rules": {
"out-identifier": "firedActivations","rule-name-equals-agenda-filter": "TreeTest_0"
}
}
]
}
我期望请求仅触发一个称为TreeTest_0
的规则,结果它仍然会触发所有规则。
我检查了drools项目(7.42.0-SNAPSHOT),找到下面的代码:
public Object unmarshal(HierarchicalStreamReader reader,UnmarshallingContext context) {
String max = null;
String outIdentifier = null;
while ( reader.hasMoreChildren() ) {
reader.moveDown();
if ( "max".equals( reader.getNodeName() ) ) {
max = reader.getValue();
} else if ( "out-identifier".equals( reader.getNodeName() ) ) {
outIdentifier = reader.getValue();
} else {
throw new IllegalArgumentException( "fire-all-rules does not support the child element name=''" + reader.getNodeName() + "' value=" + reader.getValue() + "'" );
}
reader.moveUp();
}
FireAllRulesCommand cmd;
if ( max != null ) {
cmd = new FireAllRulesCommand( Integer.parseInt( max ) );
} else {
cmd = new FireAllRulesCommand();
}
if ( outIdentifier != null ) {
cmd.setoutIdentifier(outIdentifier);
}
return cmd;
}
我想知道为什么kie-server rest api不支持规则名称过滤器。
请帮助,我该怎么做,只执行我需要的规则,而不是全部执行。
谢谢。
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)