...
- Processes the events received through the
FilteredStockStream
. - First it looks for an event
e1
with the condition price greater than 20. - Then it looks for one or more events,
e2
with a condition:((e2[last].price is null) and price>=e1.price)
is used to check the first event aftere1
, i.e.(e2[last].price is null)
returns true since there is no last event ine2
. Then it checks for the condition where the current event price is greater thane1
price.((not (e2[last].price is null)) and price>=e2[last].price)
this part is for any subsequent events. In this case the last of e2 is not null, and we check whether the price of the current event is greater than the last event. i.e. we are looking for one or more events with continuous price increase from this whole condition.
- Then we look for another event with a price drop from the last
e2
event from the conditione3=FilteredStockStream[price<e2[last].price]
. - From the select clause we select the attributes
e1.price
aspriceInitial
,e2[last].price
aspricePeak
,e3.price as priceAfterPeak
. - Finally the event is output to the
PeakStream
.
Prerequisites
Set up the prerequisites required for all samples.
Building the sample
Start the WSO2 CEP server with the sample configuration numbered 0109. For instructions, see Starting sample CEP configurations. This sample configuration does the following:
...