mqtt-elements icon indicating copy to clipboard operation
mqtt-elements copied to clipboard

Injecting the mqtt "client" into more than 10 "<mqtt-connection>"s results in an EventEmitter error message

Open sandro-k opened this issue 9 years ago • 1 comments

When creating one <mqtt-connection> element and binding to its client property via <mqtt-connection client='{{client}}'> and then injecting it into another mqtt-connection via <mqtt-connection client='[[client]]'> results in the following error when injected into more than 10 different connection:

(node) warning: possible EventEmitter memory leak detected. 11 listeners added. Use 

This is caused by https://github.com/mqttjs/mqtt-elements/blob/master/mqtt-connection.html#L311 as the element is adding itself as a listener to the client

  client
            .on("close", this._handelClose.bind(this))
            .on("connect", this._handelConnected.bind(this))
            .on("error", this._handelError.bind(this))
            .on("message", this._handelMessage.bind(this))
            .on("offline", this._handelOffline.bind(this))
            .on("reconnect", this._handelReconnect.bind(this));

either the property client.setMaxListeners could be exposed via the <mqtt-connection> or increase client.maxListeners each time mqtt-connection._clientChanged is called.

sandro-k avatar Oct 01 '15 13:10 sandro-k

The current documentation of the <mqtt-connection> element is online http://mqttjs.github.io/mqtt-elements/bower_components/mqtt-elements/. To switch to the <mqtt-connection> element select it at the top left dropdown.

sandro-k avatar Oct 01 '15 13:10 sandro-k