From 5dd930fc0ad19cfc75df3a035336dd003e7c22ef Mon Sep 17 00:00:00 2001 From: Junjie <xjj@123> Date: 星期六, 29 三月 2025 10:08:37 +0800 Subject: [PATCH] # --- src/main/java/com/zy/core/thread/impl/NyShuttleThread.java | 45 ++++++++++++++++++++++++++++++++++++--------- 1 files changed, 36 insertions(+), 9 deletions(-) diff --git a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java index 31abb43..04bad1b 100644 --- a/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java +++ b/src/main/java/com/zy/core/thread/impl/NyShuttleThread.java @@ -89,7 +89,7 @@ while (true) { try { read(); - Thread.sleep(50); + Thread.sleep(200); } catch (Exception e) { log.error("ShuttleThread Fail", e); } @@ -194,7 +194,7 @@ } JSONObject result = JSON.parseObject(sb.toString());//寰楀埌鍝嶅簲缁撴灉闆� - if (!socketResults.isEmpty() && socketResults.size() >= 5) { + if (!socketResults.isEmpty() && socketResults.size() >= 100) { socketResults.remove(0);//娓呯悊澶磋妭鐐� } socketResults.add(result);//娣诲姞鏁版嵁 @@ -203,7 +203,7 @@ } } - public JSONObject getRequestBody(String type) { + public JSONObject getRequestBody(String type, String taskId) { try { // 鑾峰彇鏈嶅姟鍣ㄥ搷搴� JSONObject result = null; @@ -226,7 +226,14 @@ } if (!responseType.equals(type)) { - continue;//鍝嶅簲ID涓庤姹侷D涓嶄竴鑷达紝涓嶅湪璋冭瘯妯″紡涓� + continue;//鍝嶅簲绫诲瀷涓庤姹傜被鍨嬩笉涓�鑷达紝涓嶅湪璋冭瘯妯″紡涓� + } + + if (taskId != null) { + String responseTaskId = resultBody.get("taskId").toString(); + if (!responseTaskId.equals(taskId)) { + continue;//鍝嶅簲ID涓庤姹侷D涓嶄竴鑷达紝涓嶅湪璋冭瘯妯″紡涓� + } } result = socketResult; @@ -395,7 +402,7 @@ socketResults.remove(removeIdx); } } catch (Exception e) { -// e.printStackTrace(); + e.printStackTrace(); } } @@ -705,6 +712,23 @@ return true; } return false; + } + + @Override + public boolean isFault() { + if (this.shuttleProtocol.getErrorCode() == null + || this.shuttleProtocol.getMode() == null + || this.shuttleProtocol.getExtend() == null + ) { + return false; + } + + InnerSuhttleExtend extend = (InnerSuhttleExtend) this.shuttleProtocol.getExtend(); + boolean res = this.shuttleProtocol.getMode() == 0 + && !this.shuttleProtocol.getErrorCode().equals("0") + && extend.getSuspendState() == 1 + ; + return res; } @Override @@ -1075,17 +1099,20 @@ // System.out.println("Sent message to server: " + JSON.toJSONString(httpCommand)); String requestType = null; + String taskId = null; try { requestType = httpCommand.getRequest().getBody().get("requestType").toString(); + taskId = httpCommand.getRequest().getBody().get("taskId").toString(); } catch (Exception e) { - return null; +// return null; + //taskId鍙兘鍙栫┖锛屼笉鎶ラ敊锛屾甯告儏鍐� } // 鑾峰彇鏈嶅姟鍣ㄥ搷搴� - // 灏濊瘯10娆� + // 灏濊瘯100娆� JSONObject result = null; - for (int i = 0; i < 10; i++) { - result = getRequestBody(requestType); + for (int i = 0; i < 100; i++) { + result = getRequestBody(requestType, taskId); if (result == null) { try { Thread.sleep(100); -- Gitblit v1.9.1