【发布时间】:2015-06-02 04:29:05
【问题描述】:
我想知道,我们应该如何执行用 IBM ODM 编写的规则。我正在使用 ODM V8.0.1。我已经尝试如下。
我创建了一个 XOM,它有一个带有字符串变量的请求类和一个带有布尔值的响应类
public class Request{ private String xyz;
public Request(String s1){
this.xyz=s1;
}//to set DVS
with getters & setters
}
public class Response{
private boolean x; and getters and setters
}
我创建了一个规则项目,添加了这个 XOM 来创建相应的 BOM。
我已将请求对象添加为 IN 规则集参数并响应 OUT 然后用下面的代码创建了一个规则
如果 “请求”的 xyz 是 {" "," " "," "}
之一然后
在“请求”上将 x 设置为 true;
创建了一个具有操作函数()和一个规则包的规则流
我已经创建了
prepareWorkMemory(){
Request r=new Request();
r.x=true;
insert(r);
}
我已经生成了一个 DVS excel 文件并填充了输入和预期结果。
然后我用 excel 表运行这个规则流
运行方式 --> 运行配置
我的执行引发了 Nullpointer 异常和其他一些 ExecutionUnit 异常。当我调试时,我发现问题是在 prepWorkingMemory() 函数之后以及规则尝试设置布尔值时未创建响应对象。
我尝试将 Ruleset 参数设置为 IN_OUT,然后执行为自己创建了响应对象,而没有 prepWorkingMemory() 函数。但它甚至期望布尔值作为输入,这不适合我的场景。
有人可以帮我解决我出错的地方吗?我坚信问题出在功能上。请纠正我。
如果可能,您能否详细说明 IBM ODM 中的内存管理。
谢谢。非常感谢您的帮助和时间:)
【问题讨论】:
标签: ibm-odm