Wednesday, 6 February 2008

Using Apache Camel, ActiveMQ and Esper for Complex Event Processing

David Greco just checked in a cute little demo that shows how to work with Apache Camel for Enterprise Integration Patterns, ActiveMQ as the message broker and Esper for Complex Event Processing. Enjoy!

Update: David bas blogged about this too :)

5 comments:

David Greco said...
This comment has been removed by the author.
David Greco said...

Hi James,
I put also an entry on my blog
http://www.davidgreco.it/MySite/Blog/Entries/2008/2/4_I’m_a_Camel_rider_%21.html

David C. said...

Great to see a concrete example! I joined the MOM boat a bit late and chanced upon your blog while investigating activeMQ + camel.

I was able to run the example but I think that I haven't fully grokked Camel + activeMQ + esper conceptually & how to apply this new paradigm to architectural designs.

It would be interesting if you shared a bit more about architectural designs for using Camel + active MQ + Esper.

From what I understood, if I'm using an async request/response message architecture, the code performing the receive/process/send linkage could be 'thrown away' by delegating message processing to Esper and routing to camel...

E.g. in an ActiveMQ application using MDPs (jencks), the 'normal' way of doing it would be to use onMessage() to process requests, generate responses and route/send them. Using camel + esper, I could use camel + esper as follows: from([clientRequestQueue]).process([prepareSvrResponseUsingEsper]).to([clientResponseQueue]).

Am I on the right track? I will be playing more with the JMS examples that come with esper to learn more...

James Strachan said...

Yes, you're on the right track :)

You can use Camel to route events or messages from any protocol to some processor, bean or transformation then reply or send the response somewhere else.

A common use case is using the Bean Integration to bind Java methods on beans to message flows...

http://activemq.apache.org/camel/bean-integration.html

Singh is king said...

Hi,
I could not find the example
please forward the example at my email id

Thanks