سؤال

The following line of code straight from the documentation

ksession.addEventListener(new DebugWorkingMemoryEventListener());

prompts the following error in eclipse

The method addEventListener(WorkingMemoryEventListener) in the type WorkingMemoryEventManager is not applicable for the arguments (DebugWorkingMemoryEventListener)

هل كانت مفيدة؟

المحلول

You probably import org.drools.event.DebugWorkingMemoryEventListener instead of org.drools.event.rule.DebugWorkingMemoryEventListener.

In our case, the following code works just fine:

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);
    }
});
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top