我正在使用drools进行业务级别验证。 是否可以在工作内存中加载两个对象并比较它们的值? 假设我有两个对象:
Object1{
String name;
}
Object2{
String sname;
}
我可以在drl文件中比较名称(Object1)和sname(Object2)吗?
Object1(name)==Object(name)
我尝试在drl文件中添加此行,但它出现错误“Unexpected token name”
还帮我将这些对象插入工作内存中。我正在使用以下步骤获得kie会话
KieContainer container=KieServices.Factory.get().getKieClasspathContainer();
KieSession kieSession = container.newKieSession("SampleSession");
现在可以同时使用insert方法插入object1和Object2吗?
kieSession.insert(object);
答案 0 :(得分:0)
如何插入对象:
Object1 o1 = ...;
Object2 o2 = ...;
kieSession.insert( o1 );
kieSession.insert( o2 );
如何比较他们的属性:
rule namecomp
when
Object1( $n1: name )
Object2( sname == $n1 )
then
System.out.println( "Names are equal" );
end
这些是基本问题。请务必阅读Drools文档。