Fixes https://github.com/spring-projects/spring-integration/issues/3627 The `destroy()`, and therefore `stop()` could be called from the `MqttConnectionFailedEvent` handling in the same thread resetting the `client` property to `null`. * Check for `this.client != null` in the next block of the `connectAndSubscribe()` to avoid NPE * Check for `isActive()` in the `scheduleReconnect()` to be sure do not reconnect if channel adapter has been stopped already **Cherry-pick to `5.4.x`**