Drools 如何使用;规则名称“议程过滤器”;使用Http Json(rest api)请求Kie服务器
我使用workbench(7.17.0)部署了一个带有一些规则的项目,然后像这样请求kie服务器: url:Drools 如何使用;规则名称“议程过滤器”;使用Http Json(rest api)请求Kie服务器,drools,Drools,我使用workbench(7.17.0)部署了一个带有一些规则的项目,然后像这样请求kie服务器: url:http://*.*.*://kie-server/services/rest/server/containers/instances/LtangsTestProject 正文: 我原以为请求只触发一个名为TreeTest\u 0的规则,结果它仍然触发了所有规则 我检查了drools项目(7.42.0-SNAPSHOT),发现以下代码: public Object unma
http://*.*.*://kie-server/services/rest/server/containers/instances/LtangsTestProject
正文:
我原以为请求只触发一个名为TreeTest\u 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服务器RESTAPI不支持规则名称过滤器
请帮帮我,我怎样才能做到,只按我需要的规则开火,而不是全部开火
谢谢你。你的第一个问题(
我想知道为什么kie服务器rest api不支持规则名称过滤器
)是离题的——这是只有应用程序设计者才能回答的问题。但是,第二个问题(如何仅触发某些规则)与主题有关。该属性显式为“议程筛选器”
启用所有规则(不是规则名称等于议程筛选器)。但是我找不到任何语法应该是什么的例子。谢谢。我的trid“议程过滤器”仍然不起作用。您的第一个问题(我想知道为什么kie服务器rest api不支持规则名称过滤器
)是离题的——这是只有应用程序的设计者才能回答的问题。但是,第二个问题(如何仅触发某些规则)与主题有关。该属性显式为“议程筛选器”
启用所有规则(不是规则名称等于议程筛选器)。但是我找不到任何语法应该是什么的例子。谢谢。我尝试了“议程过滤器”,但仍然不起作用。
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;
}