0

我正在使用流口水进行业务级别验证。是否可以在工作内存中加载两个对象并比较它们的值?假设我有 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);
4

1 回答 1

-1

如何插入对象:

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

于 2016-12-28T23:07:22.607 回答