[rules-users] CEP Stream Mode

Jean-Philippe Steinmetz jeanphilippe at trilogystudios.com
Wed Jun 30 22:11:38 EDT 2010


Hello all,

 

I'd like to get Drools working in such a way that it is always running
and I can just stream new events into the runtime and have it execute
rules against them. From what I can tell I need to use stream mode in
order to do this. I've got everything set up for how I think it should
work (based on what I can decipher from the documentation) but what's
happening is that I'm never getting a hit on the rules I write. I can
see the event be asserted but nothing happens.

 

Here is my set up...

 

KnowledgeBaseConfiguration config =
KnowledgeBaseFactory.newKnowledgeBaseConfiguration();

config.setOption(EventProcessingOption.STREAM);

setKnowledgeBase(KnowledgeBaseFactory.newKnowledgeBase(config));

 

// Create a knowledge agent to pull load the necessary resources

kagent = KnowledgeAgentFactory.newKnowledgeAgent("MyAgenda",
getKnowledgeBase());

initResources(kagent);

setKnowledgeBase(kagent.getKnowledgeBase());

 

getSession().addEventListener(new DebugAgendaEventListener());

getSession().addEventListener(new DebugWorkingMemoryEventListener());

 

And here is how I start up Drools...

 

thread = new Thread() {

    @Override

    public void run() {

        getSession().fireUntilHalt();

    }

};

thread.run();

 

I then feed events into the engine like this...

 

WorkingMemoryEntryPoint stream =
getSession().getWorkingMemoryEntryPoint(origin);

stream.insert(event);

 

I'm obviously missing something in my setup. Any help on understanding
how this is supposed to work is greatly appreciated. Again, the goal
here is to get Drools in a state that is always running so I can pipe in
events to it and have rules execute against them.

 

Jean-Philippe

-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.jboss.org/pipermail/rules-users/attachments/20100630/e5c9917c/attachment.html 


More information about the rules-users mailing list