Как использовать метод разблокировки MqttClient

Когда я пытаюсь использовать приведенный ниже код для подключения кmosquitto Брокер, как вы знаете, подключение к брокеру может занять несколько секунд / минут, и в течение этого времени, когда кнопка нажата для подключения, она остается нажатой до тех пор, пока соединение не будет установлено, а когда соединение установлено, кнопка вернется в свое нормальное состояние. Насколько я знаю, есть два способа подключения клиента с помощьюpaho java API,blocking method а такжеunblocking method, мой вопрос, как использоватьunblocking method? моя попытка использовать метод блокировки

Code_1:

//mqttFactory
public final class MQTTClientFactory {

public static MqttClient newClient(String ip, int port, String clientID) throws MqttException {

    String serverURI = formURI(ip, port);
    MqttClient client = new MqttClient(serverURI, clientID).;
    return client;
}



MqttConnectOptions opts = getClientOptions();
        client = MQTTClientFactory.newClient(broker, port, clientID);

        if (client != null) {
            System.out.println("Client is not Null");
            client.setCallback(AsynchCallBack);
            if (opts != null) {
                client.connectWithResult(opts).setActionCallback(synchCallBack);
                if (client.isConnected()) {
                    System.out.println("Client CONNECTED.");
                }
            }
        }

Ответы на вопрос(1)

Ваш ответ на вопрос