0

我想知道,我们应该如何执行IBM ODM技术规则中写的规则。我正在使用 ODM V8.0.1。我已经尝试如下。

  1. 我创建了一个名为 Courier.java 的类的 XOM

    公共类 Courier { 私有字符串 courierType; 私人int距离;

    带有 getter 和 setter

    }

  2. 我创建了一个添加此 XOM 的规则项目并创建了相应的 BOM。

  3. 我已将 Courier 对象添加为 IN_OUT 规则集参数,名称为“courier”
  4. 然后用下面的代码创建了一个技术规则

    当 { cour : Courier(); }

    then { note("Courier Object Check is Satisfied"); }

  5. 创建了一个规则流,其中只有一个规则任务指向上述技术规则。

  6. 然后我运行这个规则流

    • 运行方式 --> 运行配置

      • 在运行配置对话框中,编写下面的函数来创建快递对象并
        运行配置。

      com.seldart.Courier cour=新的 com.seldart.Courier(); 返回球场;

      规则流执行持续了 2 秒,但 note() 方法中的语句未
      在控制台中打印。

我不确定,规则流是否没有选择技术规则本身运行或快递对象未被识别?请指导我以正确的方式执行此技术规则。谢谢。

4

2 回答 2

0

我认为您必须将courier规则集参数显式添加到工作内存中,例如在规则流的开始节点的初始操作中。

例如,在 IRL 中:

insert courier;
于 2014-09-08T13:10:15.717 回答
0

简单地说,首先为您在 B2X 中的功能创建一个动作语言。这样,它对项目和引用中的所有规则对象都“可见”。

其次,尝试创建一个动作规则并用它来引用这个新的语言表达。

第三,创建一个规则流来编排这个动作规则。

要执行所有这些东西,请尝试模拟规则集或使用 ILOG/IBM JRules API 导出和运行 jar 包。

于 2015-12-19T18:30:09.253 回答