Details
-
Improvement
-
Status: Resolved
-
Minor
-
Resolution: Fixed
-
None
Description
ConsumeMQTT processor implements the MqttClient interface, which follows the signature of the Paho library's MqttClient interface. There are two issues with that. It mixes two types of behavior because the client itself can act as a publisher and subscriber parallelly. However, in NiFi, these two roles are separated into different processors. So it doesn't make sense to implement the subscribe interface in PublishMQTT, and it also doesn't make sense to implement deliveryComplete in ConsumeMQTT.
The other issue is that these interfaces cannot be used with the HiveMQ client except messageArrived(). Because of the above, we need to move the existing implementation into the Paho adapter (because it is still required for logging) and create a new interface for handling incoming messages.
Attachments
Issue Links
- links to