如何在Kie服务器中执行FireAllRulesCommand

时间:2018-08-29 09:57:54

标签: java drools rules kie-server

我们参考了文档“ https://docs.jboss.org/drools/release/6.4.0.CR2/drools-docs/html/ch22.html”以在kie Server中执行规则。我们使用了以下步骤

对指定的Container执行操作和命令。您可以在POST请求的正文中向该Container发送命令。例如,要为id为MyRESTContainer(http://SERVER:PORT/CONTEXT/services/rest/server/containers/instances/MyRESTContainer)的Container触发所有规则,可以将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 个答案:

答案 0 :(得分:0)

尝试将此作为帖子请求的正文

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