package com.nq.ws; import com.nq.enums.EStockType; import com.nq.utils.PropertiesUtil; import lombok.extern.slf4j.Slf4j; import org.java_websocket.client.WebSocketClient; import org.springframework.context.annotation.Bean; import org.springframework.context.annotation.Configuration; import java.net.URI; import java.util.HashMap; import java.util.Map; @Slf4j @Configuration public class WebSocketClientBeanConfig { @Bean public Map websocketRunClientMap() { Map retMap = new HashMap<>(2); try { WebsocketRunClient websocketRunClient = new WebsocketRunClient(new URI(PropertiesUtil.getProperty("JS_IN_WS_URL")),EStockType.IN); websocketRunClient.connect(); websocketRunClient.setConnectionLostTimeout(0); new Thread(() -> { while (true) { try { Thread.sleep(8000); websocketRunClient.send("heartbeat".getBytes()); } catch (Exception e) { websocketRunClient.reconnect(); websocketRunClient.setConnectionLostTimeout(0); } } }).start(); } catch (Exception e) { } return retMap; } }