private ServiceSocket getConnectionSocket() throws URISyntaxException, Exception { URI uri = getUri(); String connectionId = getThreadName() + getConnectionId(); ServiceSocket socket; WebSocketClient webSocketClient; if (isStreamingConnection()) { if (connectionList.containsKey(connectionId)) { socket = connectionList.get(connectionId); socket.initialize(); return socket; } else { socket = new ServiceSocket(this); connectionList.put(connectionId, socket); } } else { socket = new ServiceSocket(this); } SslContextFactory sslContexFactory = new SslContextFactory(); sslContexFactory.setTrustAll(isIgnoreSslErrors()); webSocketClient = new WebSocketClient(sslContexFactory); webSocketClient.start(); ClientUpgradeRequest request = new ClientUpgradeRequest(); webSocketClient.connect(socket, uri, request); int connectionTimeout = Integer.parseInt(getConnectionTimeout()); socket.awaitOpen(connectionTimeout, TimeUnit.MILLISECONDS); return socket; }