MQTT event receiver is an internal event receiver that comes with WSO2 products. You can configure it with XML, JSON, and text input mapping types.
Prerequisites
Follow the steps below before starting the MQTT event receiver configurations.
- Download MQTT client library (
mqtt-client-0.4.0.jar
). - Add the JAR file to the
<CEP_HOME>/repository/components/lib/
directory. - Start the MQTT-supported server.
Creating a MQTT event receiver
For instructions on creating a MQTT event receiver, see Receiving Events.
Configuring adapter properties
Specify the Adapter Properties, when creating a MQTT event receiver using the management console as shown below.
After entering the above adapter properties, select the Event Stream to which you want to map the incoming events, and the Message Format which you want to apply on the receiving events. Also, click Advanced to define custom input mappings based on the Message Format you selected. For more information on custom input mapping types, see Input Mapping Types.
You can also define the respective adapter properties of the event receiver based on the transport type within the <from>
element of the event receiver configuration in the<CEP_HOME>/repository/deployment/server/eventreceivers/
directory as follows.
<eventReceiver name="mqttEventReceiver" statistics="disable" trace="disable" xmlns="http://wso2.org/carbon/eventreceiver"> <from eventAdapterType="mqtt"> <property name="topic">sensordata</property> <property name="clientId">CEP-CONSUMER</property> <property name="url">tcp://localhost:1883</property> <property name="username">mqtt-user</property> <property name="password">mqtt-password</property> <property name="cleanSession">true</property> </from> ...................... </eventReceiver>
The above adapter properties are described below.
Adapter Property | Description | Configuration file property | Example |
---|---|---|---|
Topic | A valid name for the MQTT broker topic which is used to receive messages on the MQTT input event adapter. | topic | MQTTInputEventAdapter |
Broker Url | MQTT broker URL. You can use the same URL f or WSO2 MB (when offset is zero). | url | tcp://localhost:1883 |
Username | A valid username for the broker connection. | username | mqtt-user |
Password | A valid password for the broker connection. | password | mqtt-password |
Clean Session | Persist topic subscriptions and acknowledge positions across client sessions. | cleanSession | true/false |
Client Id | Unique client ID used by the server to identify a client when it reconnects. Used for durable subscriptions or reliable delivery of messages. | clientId | clientid |