Pregunta

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)

¿Fue útil?

Solución

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);
    }
});
Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top