Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.
Comment: Migration of unmigrated content due to installation of a new plugin

Esper

The Esper component supports the Esper Library for Event Stream Processing. The camel-esper library is provided by the Camel Extra project which hosts all *GPL related components for Camel.

URI format

Code Block
esper:name[?options]

When consuming from an Esper endpoint you must specify a pattern or eql statement to query the event stream.

Pattern example:

Code Block
from("esper://cheese?pattern=every event=MyEvent(bar=5)")
  .to("activemq:Foo");

EQL example:

Code Block
from("esper://esper-dom?eql=insert into DomStream select * from org.w3c.dom.Document")
  .to("log://esper-dom?level=INFO");
from("esper://esper-dom?eql=select childNodes from DomStream")
  .to("mock:results");

Options

Wiki Markup
{div:class=confluenceTableSmall}
|| Name || Default Value || Description ||
| {{configured}} | false | Available as of camel-extra 2.11.3:
If flag is set to 'true' the default Esper configuration file (esper.cfg.xml) will be used. 
To configure Esper via a configuration file, please refer to the [Esper documentation|http://esper.codehaus.org/esper-4.2.0/doc/reference/en/html/configuration.html] |
| {{pattern}} |  | The [Esper Pattern expression|http://esper.codehaus.org/esper-4.10.0/doc/reference/en-US/html/event_patterns.html] as a String to filter events |
| {{eql}} |  | The [Esper EQL expression|http://esper.codehaus.org/esper-4.10.0/doc/reference/en-US/html/epl_clauses.html] as a String to filter events |
{div}

You can append query options to the URI in the following format, ?option=value&option=value&...

EsperMessage

From Camel 2.12 onwards the esper consumer stores new and old events in the org.apacheextras.camel.component.esper.EsperMessage message as the input Message on the Exchange. You can get access to the esper event beans from java code with:

Code Block
  EventBean newEvent = exchange.getIn(EsperMessage.class).getNewEvent();
  EventBean oldEvent = exchange.getIn(EsperMessage.class).getOldEvent();

By default if you get the body of org.apacheextras.camel.component.esper.EsperMessage it returns the new EventBean as in previous versions.

Demo

There is a demo which shows how to work with ActiveMQ, Camel and Esper in the Camel Extra project

Include Page
Endpoint See Also
Endpoint See Also