Drools 如何使用;规则名称“议程过滤器”;使用Http Json(rest api)请求Kie服务器

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

我使用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 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;
        }