Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

MQTT event publisher is publisher is used to send events to a MQTT broker based on the configurations you provide. You can You can configure it with XML, JSON, and text output mapping types.

Table of Contents
maxLevel3

Prerequisites 

Follow the steps below before starting the MQTT event publisher configuration. 

...

For instructions on creating a MQTT event publisher, see Publishing Events .  Creating Alerts.

Configuring global properties

The following global properties can be set for the MQTT event publisher type in the <DAS_HOME>/repository/conf/input-event-adapters.xml file. These properties apply to all the publishers of the mqtt type. If a global property available by default is removed, the default value of the property is considered.

Info

Custom properties cannot be added as global properties.

Property KeyDescriptionData TypeDefault Value
minThreadThe minimum number of threads (including idle threads) that should be available in the thread pool at a given time.Integer8
maxThreadThe maximum number of threads (including idle threads) that should be available in the thread pool at a given time.Integer100
keepAliveTimeInMillisThe maximum number of milliseconds that idle threads should be kept alive when the total number of threads in the pool exceeds the number of cores in the machine.Integer20000
jobQueueSizeThe maximum number of milliseconds that idle threads should be kept alive when the total number of threads in the pool exceeds the number of cores in the machine.Integer10000
connectionKeepAliveIntervalThe time interval in milliseconds at which a check should be carried out to identify inactive threads.Integer60

Configuring adapter properties

...

Info

After entering the above adapter properties, select  the  Message Format   which you want to apply on the published events . Also, click  Advanced  to define custom output mappings based on the  Message Format  you selected. For more information on custom output mapping types, see  Publishing Events in Various Event Formats see   Output Mapping Types .

You can also d efine the respective adapter properties of the event publisher based on the transport type within the  <to>  element of the event publisher configuration in the <PRODUCT_HOME>/repository/deployment/server/eventpublishers/ directory as follows.

...

Adapter Property
Description
Configuration file propertyExample

Client Id

Client identifier is used by the server to identify a client when it reconnects, It used for durable subscriptions or reliable delivery of messages is required

clientId

test-client

Broker Url

MQTT broker URL. The same URL can be used f or WSO2 MB when offset=0

url
 tcp://localhost:1883
Username Username of the broker
username

mqtt-user

Password Password of the broker
password

mqtt-password

Clean Session Whether to persist topic subscriptions and acknowledge positions across client sessions
cleanSession
true/false
Quality of Service

Quality of service for delivering messages between clients and servers. There are three QoS levels in MQTT are as follows.

  • At most once (0)
  • At least once (1)
  • Exactly once (2)
qos
0,1,2

...

Adapter Property
Description
Configuration file propertyExample

Topic

 The topic that will be used to send messages to MQTT broker.

topic
sensordata

Related samples

For more information on mqtt event publisher type, see the following sample in WSO2 CEP Documentation.