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 文档。