2013-04-06 67 views
0

下面的代码行直接从文档如何使用Drools debugWorkingMemorylistener?

ksession.addEventListener(new DebugWorkingMemoryEventListener()); 

提示以下错误在eclipse

在类型 WorkingMemoryEventManager的方法的addEventListener(WorkingMemoryEventListener)是不适用的参数 (DebugWorkingMemoryEventListener )

回答

1

您可能会导入org.drools.event.DebugWorkingMemoryEventListener而不是org.drools.event.rule.DebugWorkingMemoryEventListener

在我们的例子,下面的代码工作得很好:

import org.drools.event.rule.DebugWorkingMemoryEventListener; 
import org.drools.event.rule.ObjectInsertedEvent; 
import org.drools.event.rule.ObjectRetractedEvent; 
import org.drools.event.rule.ObjectUpdatedEvent; 
... 
StatelessKnowledgeSession ksession = kbase.newStatelessKnowledgeSession(); 
ksession.addEventListener(new DebugWorkingMemoryEventListener() { 
    @Override 
    public void objectInserted(ObjectInsertedEvent event) { 
     System.out.println(event); 
    } 

    @Override 
    public void objectRetracted(ObjectRetractedEvent event) { 
     System.out.println(event); 
    } 

    @Override 
    public void objectUpdated(ObjectUpdatedEvent event) { 
     System.out.println(event); 
    } 
}); 
+0

哦不,进口有... – 2013-04-11 02:44:29

+0

对不起 - 我刚才的问题不显示正是我在做什么;我删除了一个演员,以statefulknowledgesession调用geteventlisteners然后addeventlistener;现在使用更简单的调用,因为它具有可行性 - 谢谢 – 2013-04-11 03:24:18