代码之家  ›  专栏  ›  技术社区  ›  Jinesh

如何在Kie服务器中执行FireAllRulesCommand

  •  0
  • Jinesh  · 技术社区  · 8 年前

    我们查阅了文件” https://docs.jboss.org/drools/release/6.4.0.CR2/drools-docs/html/ch22.html “用于在kie服务器中执行规则。我们使用以下步骤

    对指定的容器执行操作和命令。您可以在POST请求主体中向该容器发送命令。例如,为id为MyRESTContainer的容器触发所有规则( http://SERVER:PORT/CONTEXT/services/rest/server/containers/instances/MyRESTContainer ),您将向其发送fire all rules命令,如下所示(在POST请求的正文中):

    例22.9。触发所有规则的服务器请求示例

    但我们没有收到服务器的任何响应。

        package com.myspace.test;
    
    function String hello(String name){ 
      return "Hello " + name; 
    }
    
    function boolean isNameJoJo(String name){ 
      if(name == "Jo-Jo") 
        return true; 
      else 
        return false; 
    }
    
        rule "Call function directly" 
        when 
      eval(isNameJoJo("Jo-Jo")) 
    then 
     hello("isNameJoJo is true");
    end
    
    rule "Hello World Using A function defined in the DRL"
        when
        then
         hello("Georgina");
    
    end
    

    输出

      {
      "type" : "SUCCESS",
      "msg" : "Container test_2.0.0 successfully called.",
       "result" : {
        "execution-results" : {
          "results" : [ {
            "value" : 0,
            "key" : "Hello World Using A function defined in the DRL"
          } ],
           "facts" : [ ]
         }
       }
     }
    

    实际上我想要规则的输出。 比如,“你好,乔治娜”;

    没人知道这件事。

    感谢你宝贵的想法。

    1 回复  |  直到 8 年前
        1
  •  0
  •   IsidIoan    8 年前

    尝试将此作为post请求的主体

     <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
     <fire-all-rules max="-1"/>
    
    推荐文章