Description
When MQTT cleansession flag is set to 1, the Broker MUST remove existing subscriptions for the provided client id as well as not leave any subscriptions created in that clean session around after the network connection is closed. ActiveMQ MUST therefore create non-durable subscriptions for cleansession=1 sessions.
A patch is attached that adds this behavior, as well as fixes some small issues in MQTT tests. It also includes a fix to remove connection info when the connection is shutdown due to a transport error or exception.