我想知道,我们应该如何执行 IBM ODM 中编写的规则。我正在使用 ODM V8.0.1。我已经尝试如下。
我创建了一个 XOM,它有一个带有 String 变量的 Request 类和一个带有布尔值的 Response 类
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 中的内存管理。
谢谢你。非常感谢您的帮助和时间:)