Drools:如何比较 drools 中两个不同对象的属性?
Drools: How to compare attributes of two different objects in drools?
我正在使用 drools 进行业务级别验证。
是否可以在工作内存中加载两个对象并比较它们的值?
假设我有 2 个对象:
Object1{
String name;
}
Object2{
String sname;
}
我可以比较 drl 文件中的 name(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);
如何插入对象:
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 文档。
我正在使用 drools 进行业务级别验证。 是否可以在工作内存中加载两个对象并比较它们的值? 假设我有 2 个对象:
Object1{
String name;
}
Object2{
String sname;
}
我可以比较 drl 文件中的 name(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);
如何插入对象:
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 文档。