您可能会导入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);
}
});
哦不,进口有... – 2013-04-11 02:44:29
对不起 - 我刚才的问题不显示正是我在做什么;我删除了一个演员,以statefulknowledgesession调用geteventlisteners然后addeventlistener;现在使用更简单的调用,因为它具有可行性 - 谢谢 – 2013-04-11 03:24:18