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 |
---|
Wiki Markup |
h2. Esper The Esper component supports the [Esper Library|http://esper.codehaus.org] for Event Stream Processing. The *camel-esper* library is provided by the [Camel Extra|http://code.google.com/p/camel-extra/] project which hosts all *GPL related components for Camel. h3. URI format {code} esper:name[?options] {code} |
When
...
consuming
...
from
...
an
...
Esper
...
endpoint
...
you
...
must
...
specify
...
a
...
pattern
...
or
...
eql
...
statement
...
to
...
query
...
the
...
event
...
stream.
Pattern example:
Code Block |
---|
For example {code} from("esper://cheese?pattern=every event=MyEvent(bar=5)") . to("activemq:Foo"); {code} h3. Options {div:class=confluenceTableSmall} || Name || Default Value || Description || | {{pattern}} | | The [Esper Pattern expression|http://esper.codehaus.org/esper-1.11.0/doc/reference/en/html/event_patterns.html] as a String to filter events | | {{eql}} | | The [Esper EQL expression|http://esper.codehaus.org/esper-1.11.0/doc/reference/en/html/eql_clauses.html] as a String to filter events | {div} You can append query options to the URI in the following format, {{ |
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
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
...
...
on
...
the
...
...
.
...
You
...
can
...
get
...
access
...
to
...
the
...
esper
...
event
...
beans
...
from
...
java
...
code
...
with:
Code Block |
---|
{code} EventBean newEvent = exchange.getIn().getBody(EsperMessage.class).getNewEvent(); EventBean oldEvent = exchange.getIn().getBody(EsperMessage.class).getOldEvent(); {code} |
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 | ||||
---|---|---|---|---|
|