You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "Sylvain Maucourt (JIRA)" <ji...@apache.org> on 2016/07/20 20:52:20 UTC

[jira] [Created] (AMQ-6369) closing broker is like a "disconnection" not a "lost connection"

Sylvain Maucourt created AMQ-6369:
-------------------------------------

             Summary: closing broker is like a "disconnection" not a "lost connection"
                 Key: AMQ-6369
                 URL: https://issues.apache.org/jira/browse/AMQ-6369
             Project: ActiveMQ
          Issue Type: Bug
          Components: MQTT
    Affects Versions: 5.13.4, 5.14.0
            Reporter: Sylvain Maucourt


I wrote a simple test to study how works LWT over websocket and ActiveMQ.
My code is pretty simple ...

{code}
var i_am_connected = new Paho.MQTT.Message(JSON.stringify({
          version: 1,
          state: 2,
          timestamp: (lastConnection / 1000)
        }));
        i_am_connected.destinationName = "device/" + client_id + "/ping";
        i_am_connected.retained = true;
        i_am_connected.qos = 1;
        var i_am_disconnected = new Paho.MQTT.Message(JSON.stringify({
          version: 1,
          state: 0
        }));
        i_am_disconnected.destinationName = "device/" + client_id + "/ping";
        i_am_disconnected.retained = true;
        i_am_disconnected.qos = 1;

        client.connect({
          timeout: 3,
          useSSL: false,
          cleanSession: true,
          willMessage: i_am_disconnected,
          onSuccess: function() {
            status.innerHTML = "";
            client.send(i_am_connected);
            client.subscribe('device/+/ping');
          }
        });
{code}

at connection, i publish a message...
with a LWT with an another state .. i could know if a device is connected or not.
so i close abruptly my browser to simulate a "lost connection".

i tested my sample over mosquitto and everything goes right..
i receive my LWT before the 150% of timeout..

but with ActiveMQ i suppose that closing my browser is like a clean disconnection.

{code}
2016-07-20 16:12:01,166 | DEBUG | MQTT Client 1469046760799 requests heart beat of 60000 ms | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-18
2016-07-20 16:12:01,166 | DEBUG | MQTT Client 1469046760799 established heart beat of  60000 ms (60000 ms + 30000 ms grace period) | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-18
2016-07-20 16:12:01,167 | DEBUG | Setting up new connection id: ID:deverylight-49125-1469029944589-3:7, address: ws://192.168.33.1:56928, info: ConnectionInfo {commandId = 0, responseRequired = true, connectionId = ID:deverylight-49125-1469029944589-3:7, clientId = 1469046760799, clientIp = null, userName = null, password = *****, brokerPath = null, brokerMasterConnector = false, manageable = false, clientMaster = true, faultTolerant = false, failoverReconnect = false} | org.apache.activemq.broker.TransportConnection | qtp1992642569-18
2016-07-20 16:12:01,169 | DEBUG | MQTT Client 1469046760799 connected. (version: 4) | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-18
2016-07-20 16:12:01,173 | DEBUG | deverylight adding destination: topic://device.1469046760799.ping | org.apache.activemq.broker.region.AbstractRegion | qtp1992642569-19
2016-07-20 16:13:03,844 | DEBUG | Received a ping from client: 1469046760799 | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-20
2016-07-20 16:13:03,844 | DEBUG | Sent Ping Response to 1469046760799 | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-20
2016-07-20 16:13:03,844 | DEBUG | Received a ping from client: 1469046760799 | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-20
2016-07-20 16:13:03,844 | DEBUG | Sent Ping Response to 1469046760799 | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-20
2016-07-20 16:14:03,847 | DEBUG | Received a ping from client: 1469046760799 | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-15
2016-07-20 16:14:03,847 | DEBUG | Sent Ping Response to 1469046760799 | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-15
2016-07-20 16:14:03,847 | DEBUG | Received a ping from client: 1469046760799 | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-15
2016-07-20 16:14:03,847 | DEBUG | Sent Ping Response to 1469046760799 | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-15
2016-07-20 16:15:03,851 | DEBUG | Received a ping from client: 1469046760799 | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-16
2016-07-20 16:15:03,852 | DEBUG | Sent Ping Response to 1469046760799 | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-16
2016-07-20 16:15:03,852 | DEBUG | Received a ping from client: 1469046760799 | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-16
2016-07-20 16:15:03,852 | DEBUG | Sent Ping Response to 1469046760799 | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-16
2016-07-20 16:15:20,100 | DEBUG | MQTT Client 1469046760799 disconnecting | org.apache.activemq.transport.mqtt.MQTTProtocolConverter | qtp1992642569-17
{code}



--
This message was sent by Atlassian JIRA
(v6.3.4#6332)