0

我正在使用 JRules 6 并尝试使用 JRules API 执行规则。

我创建了一个新的 IlrSessionRequest 对象,将规则集路径传递给它的构造函数。当它执行时,它会失败,说规则集路径中的语法错误和错误代码XU.ERROR.10048。谷歌没有提供太多帮助..

规则集路径指的是什么?Niaevely,我刚刚输入了包含我的 XOM 的 jar 文件的路径,但它似乎不喜欢那样。

知道如何找出规则集路径是什么吗?

4

2 回答 2

0

路径必须以与 Rule Execution Server 上显示的方式相同的方式指定:/ruleApp/ruleSet 没有任何路径信息。这是 JRules 7.1 中的使用示例。这在 JRules 6 上可能会有所不同:

String rulesetPath= "/" + "your_ruleApp" + "/" + "your_ruleset";
IlrSessionFactory factory = new IlrPOJOSessionFactory();
IlrSessionRequest request = factory.createRequest();
request.setRulesetPath(rulesetPath);
于 2012-04-18T09:26:13.367 回答
0

XU = 执行单元,因此根据您的解释,我会说“JRules”正在抱怨,因为它无法在您的规则应用程序中找到您的规则集,因此崩溃。
打开里面的 jar 文件(ruleapp),您应该会看到至少一个文件夹,名为:“your ruleapp name”
,其中一个文件夹名为:“your ruleapp version”(可能是“1.0”)
:“your ruleset name”
: “您的规则集版本”
,其中包含您的规则 atrifacts。
说得通?

可能的规则集路径:
1/ ruleappName/ruleappVersion/rulesetName/rulesetVersion
2/ ruleappName/rulesetName/rulesetVersion
3/ ruleappName/ruleappVersion/rulesetName
4/ ruleappName/rulesetName

注意:版本是可选的,如果未指定,则将使用最新部署的版本。

我为 JRules(7.01 和 7.1)编写了一整套 oh Helpers and Factories - 版本 6 可能需要一些调整 如果您有兴趣,请告诉我。

基本上有 RTSHelper 和 RESHelper 库
,其中包含创建查询、业务规则、提取器、规则集、规则应用程序、部署、基于查询创建规则集等的静态方法......
执行后从 RES 中删除规则应用程序等等......

于 2012-04-18T10:45:27.447 回答