xiaoyong931011
2023-03-24 9add0c1fcc6739f9140b536b8251e24acc2e34fa
src/main/java/cc/mrbird/febs/mall/chain/service/ChainService.java
@@ -175,11 +175,31 @@
            Flowable<EthUsdtContract.TransferEventResponse> eventFlowable = ethUsdtContract.transferEventFlowable(filter);
            while (!webSocketClient.getReadyState().equals(ReadyState.OPEN)) {
                log.info("连接中···请稍后");
                int retries = 3;
                while (retries-- > 0) {
                    try {
                        Thread.sleep(1000);
                        wssContractEventListener2(startBlock, event, type);
                        return;
                    } catch (Exception ex) {
                        log.error("币安监听异常", ex);
                    }
                }
                return;
            }
            // 判断websocket是否连接成功
            if (!webSocketClient.isOpen()) {
                log.error("WebSocket连接失败");
                wssContractEventListener2(startBlock, event, type);
                int retries = 3;
                while (retries-- > 0) {
                    try {
                        Thread.sleep(1000);
                        wssContractEventListener2(startBlock, event, type);
                        return;
                    } catch (Exception ex) {
                        log.error("币安监听异常", ex);
                    }
                }
                return;
            }
            // 订阅事件流,将事件编译和处理放到单独的线程中执行