This site contains the documentation that is relevant to older WSO2 product versions and offerings.
For the latest WSO2 documentation, visit https://wso2.com/documentation/.

Skip to end of metadata
Go to start of metadata

You are viewing an old version of this page. View the current version.

Compare with Current View Page History

« Previous Version 17 Next »

Introduction

This sample demonstrates how the MQTT connector publishes a message on a particular topic and how a MQTT client that is subscribed to that topic receives it.

Prerequisites

  • You need to have the following downloaded.

Building the sample

For consumer ESB 
  • Copy the following client libraries to the < ESB_HOME>/repository/components/lib directory.
    • axis2-transport-mqtt-1.0.0.jar
    • mqtt-client-0.4.0.jar
  • Add the XML configuration for the inbound endpoint as follows:

    Insequence
    <inboundEndpoint xmlns="http://ws.apache.org/ns/synapse" name="test" sequence="TestIn" onError="TestIn" protocol="mqtt" suspend="false">
       <parameters>
          <parameter name="sequential">true</parameter>
          <parameter name="mqtt.connection.factory">mqttFactory</parameter>
          <parameter name="mqtt.server.host.name">localhost</parameter>
          <parameter name="mqtt.server.port">1883</parameter>
          <parameter name="mqtt.topic.name">esb.test2</parameter>
          <parameter name="mqtt.subscription.qos">2</parameter>
          <parameter name="content.type">application/xml</parameter>
          <parameter name="mqtt.session.clean">false</parameter>
          <parameter name="mqtt.ssl.enable">false</parameter>
          <parameter name="mqtt.subscription.username">elil1</parameter>
          <parameter name="mqtt.subscription.password">e13</parameter>
          <parameter name="mqtt.temporary.store.directory">my</parameter>
          <parameter name="mqtt.blocking.sender">false</parameter>
       </parameters>
    </inboundEndpoint>
    TestIn
    <sequence xmlns="http://ws.apache.org/ns/synapse" name="TestIn">
       <log level="full"/>
       <drop/>
    </sequence>
For publisher ESB 

Run the following command to use the mosquito publisher:

mosquitto_pub -h 127.0.0.1 -t esb.test2 -m "<msg><a>Testing123</a></msg>"

Executing the request

After you perform the required configuration changes,

  • Start the ESB and the mosquito publisher.
  • Start the mosquitto subscriber by executing the following command:

    mosquitto_sub -h 127.0.0.1 -t esb.test2

Analyzing the output

On the console you will see the following:

Esb subscriber 

Mosquitto subscriber

  • No labels