Introduction
This sample demonstrates how to receive custom incoming WSO2 event objects via the WSO2Event receiver and then map a few attributes with different names. Custom events are events with custom mappings that do not adhere to the default WSO2 Event format. For more information on event formats, see Event Formats. WSO2Event receiver is implemented based on Apache Thrift. This sample does not process the incoming events. A log event publisher is used to log the received events, and to verify the messages.
Prerequisites
Set up the prerequisites required for all samples.
Building the sample
Start the WSO2 CEP server with the sample configuration numbered 0008. For instructions, see Starting sample CEP configurations. This sample configuration does the following:
Changes the default Axis2 repo from
<CEP_HOME>/repository/deployment/server
to<CEP_HOME>/samples/cep/artifacts/0008
.Creates the event streams
org.wso2.event.sensor.stream:1.0.0
andorg.wso2.mapped.sensor.data:1.0.0
.Creates an event receiver named
wso2eventReceiver
.Creates an event publisher named
wso2eventLogger
to log the received messages.
Executing the sample
Open a new tab in the CLI and issue the following ant
command from the <CEP_HOME>/samples/cep/producers/wso2-event
directory.
ant -DstreamId=org.wso2.event.sensor.stream:1.0.0 -Dsn=0008
This builds the wso2event
client and publishes the events in the <CEP_HOME>/samples/cep/artifacts/0008/org_wso2_event_sensor_stream_1_0_0.csv
file to the wso2eventReceiver
endpoint. You can view the details of the events that are sent as shown in the log below.
The events received by WSO2 CEP are logged as shown below.
Note the following in the above log.
- The events received are being mapped to a new stream named
org.wso2.mapped.sensor.data:1.0.0
. - In the event stream
org.wso2.mapped.sensor.
data:1.0.0
, the attribute namedsensorName
has been dropped. The attributesisPowerEnabled
andsensorValue
are mapped to two different attributes namedisPowerSavingMode
andvalue
respectively.