import java.util.Map;
import java.util.Set;
import java.util.concurrent.ConcurrentHashMap;
+import java.util.concurrent.ScheduledExecutorService;
+import java.util.concurrent.TimeUnit;
import org.eclipse.jdt.annotation.Nullable;
import org.eclipse.jetty.client.HttpClient;
import org.json.JSONException;
import org.json.JSONObject;
import org.openhab.core.OpenHAB;
+import org.openhab.core.common.ThreadPoolManager;
import org.slf4j.Logger;
import org.slf4j.LoggerFactory;
import io.socket.engineio.client.Transport;
import io.socket.parser.Packet;
import io.socket.parser.Parser;
-import io.socket.thread.EventThread;
import okhttp3.OkHttpClient.Builder;
import okhttp3.logging.HttpLoggingInterceptor;
import okhttp3.logging.HttpLoggingInterceptor.Level;
*/
private final Backoff reconnectBackoff = new Backoff();
+ /*
+ * Delay reconnect scheduler pool
+ *
+ */
+ protected final ScheduledExecutorService scheduler = ThreadPoolManager
+ .getScheduledPool(ThreadPoolManager.THREAD_POOL_NAME_COMMON);
+
/**
* Constructor of CloudClient
*
logger.warn("Error connecting to the openHAB Cloud instance. Reconnecting.");
}
socket.close();
- sleepSocketIO(delay);
- socket.connect();
+ scheduler.schedule(new Runnable() {
+ @Override
+ public void run() {
+ socket.connect();
+ }
+ }, delay, TimeUnit.MILLISECONDS);
}
})//
return headersJSON;
}
- private void sleepSocketIO(long delay) {
- EventThread.exec(() -> {
- try {
- Thread.sleep(delay);
- } catch (InterruptedException e) {
-
- }
- });
- }
-
private static String censored(String secret) {
if (secret.length() < 4) {
return "*******";