code: protected void disconnect() {
  		connected.set(false);
  		synchronized (publishers) {
  			for (Publisher publisher : publishers.values()) {
  				try {
  					publisher.shutdown();
  				} catch (Exception ingored) {
  				}
  			}
  			publishers.clear();
  		}
  		synchronized (subscribers) {
  			for (Subscriber subscriber : subscribers.values()) {
  				try {
  					subscriber.stopAsync();
  				} catch (Exception ingored) {
  				}
  			}
  			subscribers.clear();
  		}
  		if (topicAdmin != null) {
  			try {
  				topicAdmin.close();
  			} catch (Exception ingored) {
  			}
  			topicAdmin = null;
  		}
  		if (subscriptionAdmin != null) {
  			try {
  				subscriptionAdmin.close();
  			} catch (Exception ingored) {
  			}
  			subscriptionAdmin = null;
  		}
  	}
docs: --- DISCONNECT ---